Devices and techniques for improving reception or compensating for attenuation of gnss signals during water immersion activities

ABSTRACT

A wearable device that can receive a plurality of Global Navigation Satellite System (GNSS) timing signals using an antenna, where the antenna is located in an exterior portion of the wearable device such that the antenna receives GNSS signals at the external portion of the wearable device, without the GNSS signals first passing through an air gap within a housing of the wearable device. The wearable device is configured to determine a geographic location of the wearable device based at least in part on the GNSS signals. The wearable device is configurable to perform underwater dead-reckoning procedures, measuring energy levels during dwell periods, measuring efficiency of swim strokes, sharing wearable device information with other electronic devices, calibrating the wearable device, or a combination thereof.

BACKGROUND

Use of electronic devices for tracking open water swim path and measuretotal distances is gaining in popularity. However, Global NavigationSatellite System (GNSS) signals do not penetrate water well. Therefore,electronic devices (e.g., wearable devices) generally have difficulty inreceiving navigation signals during in-water activities, especiallythose activities in which the electronic device is underwater for atleast some periods of time (e.g., during a swimming stroke). Forexample, current open water features on commercially available devicesdo not work well for swim strokes such as the breaststroke where theuser's hand with a wearable device does not break the surface of thewater for much of the stroke. The water attenuation issue results in atrace of GNSS fixes jumping around for some commercially availablewearable devices during periods of time when the device is in water.

SUMMARY

According to some implementations, a method may include receiving aplurality of Global Navigation Satellite System (GNSS) timing signalsusing an antenna of a wearable device, where the antenna is located inan exterior portion of the wearable device such that the antenna facesaway from a body of a user that wears the wearable device to receive theplurality of GNSS signals (without the plurality of GNSS signals firstpassing through an air gap within a housing of the wearable device);determining a geographic location of the wearable device based at leastin part on the plurality of GNSS signals; and storing the geographiclocation in a memory of the wearable device. According to someimplementations, the antenna may be incorporated into a bezel of thewearable device. In some embodiments, the antenna may be incorporatedinto a crown of the wearable device. In some embodiments, the antennamay be incorporated into a band of the wearable device. In someembodiments, the antenna may be incorporated into the face or crystal ofthe wearable device as a mesh antenna.

According to some embodiments, the method can include accessing aplurality of stored geographic points stored in the memory of thewearable device, wherein the stored geographic points define a swimlane. The method can include determining whether the geographic locationof the wearable device is outside the defined swim lane. The method caninclude providing feedback to a user indicating the geographic locationof the wearable device is outside the swim lane. In various embodiments,the feedback can comprise haptic feedback. In some embodiments, thefeedback can comprise audio feedback.

According to some embodiments, the method can include storing aplurality of geographic locations and associated times in the memory ofthe wearable device. The method can include calculating one or morecharacteristics of the water immersion activities based at least in parton the plurality of geographic locations and the associated times.

According to some embodiments, the method can include sending, via awireless link, the geographic location of the wearable device to anelectronic device.

According to some embodiments, the wearable device comprises a casingconfigured to be removably coupled to user equipment or clothing.

According to certain embodiments, a wearable device may include a bodyincluding a hermetically sealed case and an exterior portion. The devicemay also include a processing circuit housed in the hermetically sealedcase and an antenna electrically coupled to the processing circuit. Theantenna is located at the exterior portion of the body such that, duringoperations of the wearable device, the antenna faces outwardly toreceive a plurality of GNSS signals at the exterior portion of the bodyand feeds the plurality of GNSS signals to the processing circuit.

In some embodiments of the wearable device, the exterior portion of thebody may include a crown of the wearable device, a circumferentialportion of the case, a portion of a band of the wearable device, or acombination thereof. In some embodiments, the exterior portion of thebody may include a cover that is at least partially transparent tovisible light, and the antenna may include an antenna attached to asurface of the cover or embedded in the cover. The antenna attached tothe surface of the cover or embedded in the cover may include a mesh, aloop, an inverted f antenna, a directional antenna, an omnidirectionalantenna, or a combination thereof. The surface may include an interiorsurface or an exterior surface.

In some embodiments, the antenna may be further configured to receive aWide Area Network (WAN) signal, a Wi-Fi signal, or both; and thewearable device may further include a filter configured to isolate theplurality of GNSS signals from the WAN signal, the Wi-Fi signal, orboth. In some embodiments, the antenna may be further configured toreceive a WAN signal, a Wi-Fi signal, or both; and the wearable devicemay further include an inertial measurement unit configured to measurean orientation of the wearable device and a switch configured to select,based on the orientation of the wearable device, the plurality of GNSSsignals, the WAN signal, the Wi-Fi signal, or both the WAN signal andthe Wi-Fi signal to feed to the processing circuit.

In some embodiments, the antenna may be electrically coupled to theprocessing circuit by capacitive coupling or via a conductive wireembedded in the body. The antenna may be electrically coupled to theprocessing circuit through a low noise amplifier. The antenna mayinclude a circular antenna, a ring-shaped antenna, a patch antenna, amicrostrip antenna, a coil antenna, or an antenna array. The antenna mayinclude a ground plane configured to be in physical contact with a skinof a user that wears the wearable device.

In some embodiments, the processing circuit may be configured todetermine a geographic location of the wearable device based at least inpart on the plurality of GNSS signals. In some embodiments, theprocessing circuit may further be configured to: access informationregarding a plurality of geographic points that define a geographiczone; determine, based on the plurality of geographic points, that thegeographic location is outside the geographic zone; and provide, inresponse to determining that the wearable device is outside thegeographic zone, feedback to a user of the wearable device. In someembodiments, the feedback may include haptic feedback, audio feedback,visible feedback, or a combination thereof. In some embodiments, theprocessing circuit may further be configured to send, via a wirelesslink, the geographic location of the wearable device to an externalelectronic device. In some embodiments, the processing circuit may beconfigured to track the geographic location of the wearable device anddetermine, based on tracking the geographic location of the wearabledevice, one or more characteristics of a user of the wearable device,where the user is at least partially in water. In some embodiments, thebody of the wearable device may be configured to be removably attachedto swim goggles, a wetsuit, a head band, or a neck of a user. In someembodiments, the wearable device may include a pressure sensorconfigured to measure a depth of the wearable device in water.

According to some implementations, a method may include receiving aplurality of Global Navigation Satellite System (GNSS) timing signalsvia an antenna embedded in a wearable device. The method can includecalculating a plurality of geographic locations over time of thewearable device based at least in part on the plurality of GNSS signals.The method can include storing the geographic locations and associatedtime stamps in a memory of the wearable device. The method can includemeasuring a depth of the wearable device using a pressure sensor on thewearable device that correlates a detected pressure to the depth. If themeasured depth exceeds a threshold depth, the method can includedetermining a historical speed of the wearable device based at least onthe geographic locations and the associated times saved in the memory ofthe wearable device. The method can include determining a direction ofmotion of the wearable device based at least in part on a magneticsignature received on a magnetometer of the wearable device. The methodcan include determining one or more underwater geographic locations ofthe wearable device over time using the historical speed and thedirection of motion. The method can include saving the one or moreunderwater geographic locations of the wearable device to the memory.

According to some implementations, a method may include detecting asecond plurality of GNSS signals at the antenna of the wearable device.The method can include calculating an updated position of the wearabledevice based at least in part of the second plurality of GNSS signals.The method can include storing the updated position of the wearabledevice in the memory.

According to some implementations, a method may include generating amessage comprising a calculated speed, the determined geographiclocation, the determined direction of motion, or a combination thereof.The method can include sending via a wireless protocol the message to asecond electronic device.

According to some implementations, a method may include receiving aplurality of Global Navigation Satellite System (GNSS) timing signalsusing an antenna embedded in a wearable device. The method can includemeasuring a first received energy of the GNSS signals during a firstdwell period. The method can include measuring a second received energyof the GNSS signal during a plurality of secondary dwell periods,wherein a duration of each of the plurality of secondary dwell periodsis shorter than the first dwell period. The method can include storingthe second received energy in a memory based at least in part on thesecond received energy exceeding a first threshold level. Based onwhether the first received energy is below the second threshold level,the method can include harvesting accumulated energy from the pluralityof secondary dwell periods in or near a center bin to determine alocation for the wearable device; and storing one or morecharacteristics of the GNSS signals for the secondary dwell periods inthe memory.

According to some implementations, a method may include receiving aplurality of sensor signals from one of more sensors in the wearabledevice. The method can include determining based in part on the sensorsignals a position of the wearable device during a swimming stroke. Themethod can include scheduling a time period for measuring the GNSSsignals based at least in part on the position of the wearable deviceduring the swimming stroke.

According to some implementations, a method may include receiving aplurality of Global Navigation Satellite System (GNSS) timing signalsusing an antenna, wherein the antenna is located in an exterior portionof a wearable device such that the antenna detects the plurality of GNSSsignals without the plurality of GNSS signals first passing through anair gap within a housing of the wearable device; calculating one or moregeographic locations over a period of time of the wearable device basedat least in part on the received GNSS signals. The method can includemeasuring one or more depths of a wearable device over the period oftime using a pressure sensor on the wearable device. The method caninclude storing the one or more geographic locations. The method caninclude the one or more depths over the period of time in a memory ofthe wearable device.

According to some implementations, a method may include sending the oneor more geographic locations, the one or more depths, or both over theperiod of time to an electronic device via a wireless protocol.

According to some implementations, a method may include receiving aplurality of Global Navigation Satellite System (GNSS) timing signalsusing an antenna, wherein the antenna is located in an exterior portionof a wearable device such that the antenna detects the plurality of GNSSsignals without the plurality of GNSS signals first passing through anair gap within a housing of the wearable device. The method can includecalculating a plurality of geographic locations of the wearable deviceduring a time period based at least in part on the received GNSSsignals. The method can include storing the plurality of geographiclocations and associated times of the wearable device in a memory. Themethod can include determining motion of the wearable device during thetime period based on the plurality of geographic locations and theassociated times. The method can include receiving wireless signalscontaining a plurality of acceleration signals from one or more MEMSsensors worn on one or more limbs of a user; determining a movement ofthe one or more limbs of a user during the time period based in part onthe acceleration signals. The method can include calculating anefficiency of a stroke based at least in part on the movement of the oneor more limbs of the user and the motion of the wearable device duringthe time period; and storing the efficiency of the stroke in the memory.

According to some implementations, a method may include receiving aplurality of Global Navigation Satellite System (GNSS) timing signalsusing an antenna, wherein the antenna is located in an exterior portionof a wearable device such that the antenna detects the plurality of GNSSsignals without the plurality of GNSS signals first passing through anair gap within a housing of the wearable device; calculating a pluralityof geographic locations of the wearable device during a time periodbased at least in part on the plurality of GNSS signals; storing theplurality of geographic locations of the wearable device and associatedtimes in a memory of the wearable device; generating one or more datamessages comprising the plurality of geographic locations of thewearable device and the associated times; and sending the one or moredata messages to a second device via a sidelink data channel.

According to some implementations, a method may include receiving viathe sidelink data channel one or more second data messages from one ormore second wearable devices, wherein the one or more second datamessages comprise the geographic locations of the one or more secondwearable devices.

According to some implementations, a method may include providingfeedback via the wearable device based in part on the geographiclocations of the one or more second wearable devices.

According to some implementations, a method may include receiving aplurality of Global Navigation Satellite System (GNSS) timing signalsusing an antenna, wherein the antenna is located in an exterior portionof a wearable device such that the antenna detects the plurality of GNSSsignals without the plurality of GNSS signals first passing through anair gap within a housing of the wearable device; calculating a pluralityof geographic locations of the wearable device over a time period basedat least in part on the received GNSS signals. The method can includestoring the plurality geographic locations of the wearable device andassociated times in a memory of the wearable device. The method caninclude measuring an elapsed time for swimming a known distance. Themethod can include comparing the geographic locations and the associatedtime stamps with the elapsed time and the known distance to determine acalibration error; and storing the calibration error in the memory.

According to an aspect of the disclosure, a wearable device comprising acommunication interface, a memory, and one or more processing unitscommunicatively coupled with the communication interface and memory andconfigured to cause the wearable device to perform the method of any ofthe methods described above.

According to an aspect of the disclosure, a non-transitorycomputer-readable medium comprising a plurality of instructions storedin a memory, the plurality of instructions when executed on a processorperform operations comprising the method of any of the methods describedabove.

These and other embodiments are described in detail below. For example,other embodiments are directed to systems, devices, and computerreadable media associated with methods described herein.

A better understanding of the nature and advantages of embodiments ofthe present disclosed may be gained with reference to the followingdetailed description and the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of a positioning system, according to an embodiment.

FIG. 2 illustrates a user with a wearable device.

FIG. 3 illustrates an example of a wearable device.

FIG. 4 illustrates an example of a wearable device according to certainembodiments.

FIG. 5 illustrates another example of a wearable device according tocertain embodiments.

FIG. 6 illustrates an example of a wearable device according to certainembodiments.

FIG. 7 illustrates a technique for projecting satellite position forincreasing positioning accuracy.

FIG. 8 illustrates an exemplary flow chart of a process for improvingreception of GNSS signals during water immersion activities.

FIG. 9 illustrates an exemplary flow chart of a process for compensatingfor attenuation of GNSS signals during water immersion activities.

FIG. 10 illustrates an exemplary flow chart of a process forcompensating for attenuation of GNSS signals during water immersionactivities.

FIG. 11 illustrates an exemplary flow chart of a process forcompensating for attenuation of GNSS signals during water immersionactivities.

FIG. 12 illustrates an exemplary flow chart of a process for calculatingan efficiency of a swim stroke while compensating for attenuation ofGNSS signals during water immersion activities.

FIG. 13 illustrates an exemplary flow chart of a process forcompensating for attenuation of GNSS signals and sharing the informationduring water immersion activities.

FIG. 14 illustrates an exemplary flow chart of a process forcompensating for attenuation of GNSS signals during water immersionactivities.

FIG. 15 illustrated a block diagram for an exemplary embodiment of awearable device.

Like reference, symbols in the various drawings indicate like elements,in accordance with certain example implementations. In addition,multiple instances of an element may be indicated by following a firstnumber for the element with a letter or a hyphen and a second number.For example, multiple instances of an element 110 may be indicated as110-1, 110-2, 110-3 etc., or as 110 a, 110 b, 110 c, etc. When referringto such an element using only the first number, any instance of theelement is to be understood (e.g., element 110 in the previous examplewould refer to elements 110-1, 110-2, and 110-3 or to elements 110 a,110 b, and 110 c).

DETAILED DESCRIPTION

Several illustrative embodiments will now be described with respect tothe accompanying drawings, which form a part hereof. While particularembodiments, in which one or more aspects of the disclosure may beimplemented, are described below, other embodiments may be used, andvarious modifications may be made without departing from the scope ofthe disclosure or the spirit of the appended claims.

Several aspects of telecommunication systems will now be presented withreference to various apparatus and methods. These apparatus and methodswill be described in the following detailed description and illustratedin the accompanying drawings by various blocks, components, circuits,processes, algorithms, etc. (collectively referred to as “elements”).These elements may be implemented using electronic hardware, computersoftware, or any combination thereof. Whether such elements areimplemented as hardware or software depends upon the particularapplication and design constraints imposed on the overall system.

By way of example, an element, or any portion of an element, or anycombination of elements may be implemented as a “processing system” thatincludes one or more processors. Examples of processors includemicroprocessors, microcontrollers, graphics processing units (GPUs),central processing units (CPUs), application processors, digital signalprocessors (DSPs), reduced instruction set computing (RISC) processors,systems on a chip (SoC), baseband processors, field programmable gatearrays (FPGAs), programmable logic devices (PLDs), state machines, gatedlogic, discrete hardware circuits, and other suitable hardwareconfigured to perform the various functionality described throughoutthis disclosure. One or more processors in the processing system mayexecute software. Software shall be construed broadly to meaninstructions, instruction sets, code, code segments, program code,programs, subprograms, software components, applications, softwareapplications, software packages, routines, subroutines, objects,executables, threads of execution, procedures, functions, etc., whetherreferred to as software, firmware, middleware, microcode, hardwaredescription language, or otherwise.

Accordingly, in one or more example embodiments, the functions describedmay be implemented in hardware, software, or any combination thereof. Ifimplemented in software, the functions may be stored on or encoded asone or more instructions or code on a computer-readable medium.Computer-readable media includes computer storage media. Storage mediamay be any available media that can be accessed by a computer. By way ofexample, and not limitation, such computer-readable media can comprise arandom-access memory (RAM), a read-only memory (ROM), an electricallyerasable programmable ROM (EEPROM), optical disk storage, magnetic diskstorage, other magnetic storage devices, combinations of theaforementioned types of computer-readable media, or any other mediumthat can be used to store computer executable code in the form ofinstructions or data structures that can be accessed by a computer.

The following detailed description of example implementations refers tothe accompanying drawings. The same reference numbers in differentdrawings may identify the same or similar elements.

FIG. 1 is a simplified diagram of a positioning system 100 in which auser equipment (UE) 105, a location server (LS) 160, and/or othercomponents of the positioning system 100 can use the techniques providedherein for determining an estimated location of a UE 105, according toan embodiment. In some embodiments, a UE 105 can be a wearable device.The techniques described herein may be implemented by one or morecomponents of the positioning system 100. The positioning system 100 caninclude one or more UE 105, one or more satellites 110 (also referred toas space vehicles (SVs)) for a Global Navigation Satellite System (GNSS)such as the Global Positioning System (GPS), base stations 120, accesspoints (APs) 130, LS 160, a network 170, and an external client 180.

It should be noted that FIG. 1 provides only a generalized illustrationof various components, any or all of which may be utilized asappropriate, and each of which may be duplicated as necessary.Specifically, although only one wearable device is illustrated, it willbe understood that many wearable devices may utilize the positioningsystem 100. Similarly, the positioning system 100 may include a largeror smaller number of base stations 120 and/or APs 130 than illustratedin FIG. 1. The illustrated connections that connect the variouscomponents in the positioning system 100 comprise data and signalingconnections which may include additional (intermediary) components,direct or indirect physical and/or wireless connections, and/oradditional networks. Furthermore, components may be rearranged,combined, separated, substituted, and/or omitted, depending on desiredfunctionality. In some embodiments, for example, the external client 180may be directly connected to LS 160. A person of ordinary skill in theart will recognize many modifications to the components illustrated.

Depending on desired functionality, the network 170 may comprise any ofa variety of wireless and/or wireline networks. The network 170 can, forexample, comprise any combination of public and/or private networks,local and/or wide-area networks, and the like. Furthermore, the network170 may utilize one or more wired and/or wireless communicationtechnologies. In some embodiments, the network 170 may comprise acellular or other mobile network, a wireless local area network (WLAN),a wireless wide-area network (WWAN), and/or the Internet, for example.Particular examples of network 170 include a Long Term Evolution (LTE)wireless network, a Fifth Generation (5G) wireless network (alsoreferred to as New Radio (NR) wireless network or 5G NR wirelessnetwork), a Wi-Fi WLAN, and the Internet. LTE, 5G and NR are wirelesstechnologies defined, or being defined, by the 3rd GenerationPartnership Project (3GPP). Network 170 may also include more than onenetwork and/or more than one type of network.

The base stations 120 and access points (APs) 130 are communicativelycoupled to the network 170. In some embodiments, the base station 120may be owned, maintained, and/or operated by a cellular networkprovider, and may employ any of a variety of wireless technologies, asdescribed herein below. Depending on the technology of the network 170,a base station 120 may comprise a node B, an Evolved Node B (eNodeB oreNB), a base transceiver station (BTS), a radio base station (RBS), anNR NodeB (gNB), a Next Generation eNB (ng-eNB), or the like. A basestation 120 that is a gNB or ng-eNB may be part of a Next GenerationRadio Access Network (NG-RAN) which may connect to a 5G Core Network(5GC) in the case that Network 170 is a 5G network. An AP 130 maycomprise a Wi-Fi AP or a Bluetooth® AP, for example. Thus, a UE 105 cansend and receive information with network-connected devices, such as LS160, by accessing the network 170 via a base station 120 using a firstcommunication link 133. Additionally or alternatively, because APs 130also may be communicatively coupled with the network 170, UE 105 maycommunicate with Internet-connected devices, including LS 160, using asecond communication link 135.

As used herein, the term “base station” may generically refer to asingle physical transmission point, or multiple co-located physicaltransmission points, which may be located at a base station 120.Physical transmission points may comprise an array of antennas (e.g., asin a Multiple Input-Multiple Output (MIMO) system and/or where the basestation employs beamforming) of the base station. The term “basestation” may additionally refer to multiple non-co-located physicaltransmission points, the physical transmission points may be aDistributed Antenna System (DAS) (a network of spatially separatedantennas connected to a common source via a transport medium) or aRemote Radio Head (RRH) (a remote base station connected to a servingbase station). Alternatively, the non-co-located physical transmissionpoints may be the serving base station receiving the measurement reportfrom the UE 105 and a neighbor base station whose reference radiofrequency (RF) signals the UE 105 is measuring.

As used herein, the term “cell” may generically refer to a logicalcommunication entity used for communication with a base station 120, andmay be associated with an identifier for distinguishing neighboringcells (e.g., a Physical Cell Identifier (PCID), a Virtual CellIdentifier (VCID)) operating via the same or a different carrier. Insome examples, a carrier may support multiple cells, and different cellsmay be configured according to different protocol types (e.g.,Machine-Type Communication (MTC), Narrowband Internet-of-Things(NB-IoT), Enhanced Mobile Broadband (eMBB), or others) that may provideaccess for different types of devices. In some cases, the term “cell”may refer to a portion of a geographic coverage area (e.g., a sector)over which the logical entity operates.

The LS 160 may comprise a server and/or another computing deviceconfigured to determine an estimated location of UE 105 and/or providedata (e.g., “assistance data”) to UE 105 to facilitate the locationdetermination. According to some embodiments, LS 160 may comprise a HomeSecure User Plane Location (SUPL) Location Platform (H-SLP), which maysupport the SUPL user plane (UP) location solution defined by the OpenMobile Alliance (OMA) and may support location services for UE 105 basedon subscription information for UE 105 stored in LS 160. In someembodiments, the LS 160 may comprise, a Discovered SLP (D-SLP) or anEmergency SLP (E-SLP). The LS 160 may also comprise an Enhanced ServingMobile Location Center (E-SMLC) that supports location of UE 105 using acontrol plane (CP) location solution for LTE radio access by UE 105. TheLS 160 may further comprise a Location Management Function (LMF) thatsupports location of UE 105 using a control plane (CP) location solutionfor 5G or NR radio access by UE 105. In a CP location solution,signaling to control and manage the location of UE 105 may be exchangedbetween elements of network 170 and with UE 105 using existing networkinterfaces and protocols and as signaling from the perspective ofnetwork 170. In a UE location solution, signaling to control and managethe location of UE 105 may be exchanged between LS 160 and UE 105 asdata (e.g. data transported using the Internet Protocol (IP) and/orTransmission Control Protocol (TCP)) from the perspective of network170.

An estimated location of UE 105 can be used in a variety ofapplications—e.g. to assist direction finding or navigation for a userof UE 105 or to assist another user (e.g. associated with externalclient 180) to locate UE 105. A “location” is also referred to herein asa “location estimate”, “estimated location”, “location”, “position”,“position estimate”, “position fix”, “estimated position”, “locationfix” or “fix”. A location of UE 105 may comprise an absolute location ofUE 105 (e.g. a latitude and longitude and possibly altitude) or arelative location of UE 105 (e.g. a location expressed as distancesnorth or south, east or west and possibly above or below some otherknown fixed location or some other location such as a location for UE105 at some known previous time). A location may also be specified as ageodetic location (as a latitude and longitude) or as a civic location(e.g. in terms of a street address or using other location related namesand labels). A location may further include an uncertainty or errorindication, such as a horizontal and possibly vertical distance by whichthe location is expected to be in error or an indication of an area orvolume (e.g. a circle or ellipse) within which UE 105 is expected to belocated with some level of confidence (e.g. 95% confidence).

The external client 180 may be a web server or remote application thatmay have some association with UE 105 (e.g., may be accessed by a userof UE 105) or may be a server, application, or computer system providinga location service to some other user or users which may includeobtaining and providing the location of UE 105 (e.g., to enable aservice such as friend or relative finder, asset tracking or child orpet location). Additionally or alternatively, the external client 180may obtain and provide the location of UE 105 to an emergency servicesprovider, government agency, etc.

The GNSS satellites 110 can be one or more transmitting devices such assatellite positioning systems (SPSs) that may transmit SPS signals fromone or more space vehicles (SVs) for use in wireless signal-basedpositioning. In some embodiments, an SPS may, for example, comprise aGNSS, such as the GPS or Galileo satellite systems. In otherembodiments, one or more SVs may be from multiple GNSS such as, but notlimited to, GPS, Galileo, Glonass, or Beidou (Compass) satellitesystems. In other embodiments, one or more SVs may be from any one ofseveral regional navigation satellite systems (RNSSes) such as, forexample, Wide Area Augmentation System (WAAS), European GeostationaryNavigation Overlay Service (EGNOS), Quasi-Zenith Satellite System(QZSS), just to name a few examples. In yet another example, one or moreother devices may represent one or more terrestrial-based wirelesstransmitting devices, such as, e.g., a dedicated positioning Beacontransmitting device, an access point (AP) device which may be part of awireless local area network, a base transceiver station which may bepart of the cellular telephone system, and/or the like or somecombination thereof.

FIG. 2 illustrates a user 202 with a wearable device 204. The wearabledevice 204 can include but is not limited to an electronic or smartwatch. Wearable devices 204 are increasingly designed to operating in awater environment and can be water resistant to a certain depth (e.g.,50 meters). However, navigation features that rely on GNSS signals 206from a plurality of satellites 110 often do not function properly whenthe wearable device 204 is underwater because the GNSS signals 206 maybe largely reflected off the interface between air and water and thuscan only penetrate water for a short distance (e.g., a few inches). Asthe user's arms move, the device can enter and leave the water andreception of the GNSS signals 206 may be intermittent at best. Intraveling from the satellites 110, GNSS signals 206 pass through severalboundaries that reduce the signal-to-noise ratio. A first air-to-waterexists from the GNSS signals passing through the surface of the water. Aportion of the GNSS signals 206 can be reflected off the surface of thewater at the water-to-air boundary. A second boundary exists from theouter housing of the wearable device 204 to a GNSS antenna normallymounted on or connected to a printed circuit board (PCB) inside thehousing of the wearable device. This water-to-air boundary affects GNSSsignals 206 that pass from the water to the GNSS antenna of the wearabledevice 204. As described herein, the disclosed techniques improve thesignal-to-noise ratio of GNSS signals 206 reaching the antenna of a GNSSreceiver of the wearable device 204.

Other techniques to compensate for intermittent fixes caused by theattenuation of GNSS signals is to filter the received signal through anaveraging filter or a Kalman filter that is also receiving accelerationdata, gyro data, or magnetometer data from one or more sensors on thewearable device 204. For example, the magnetometer can inform the deviceabout the portion of the stroke for determining times to receive GNSSdata.

In various embodiments, the attenuation of the GNSS signals may bereduced by avoiding the water-to-air boundary, for example, bypositioning the GNSS antenna at an exterior of the wearable device 204rather than in the interior of wearable device 204. Positioning the GNSSantenna at an exterior of the device (rather than on the PCB inside thehousing) may improve the signal-to-noise ratio of the received GNSSsignals 206. In some embodiments, wearable device 204 may include two ormore antennas that are capable of receiving GNSS signals and areconnected to a GNSS receiver (e.g., on the PCB) via, for example,switches. The two or more antennas may both be positioned at theexterior of wearable device 204 or may include at least one antenna atthe exterior of wearable device 204 and at least one antenna inside thehousing of wearable device 204. An antenna that is out of water and/orreceives a stronger GNSS signal may be selected from the two or moreantennas and connected to the GNSS receiver through a switch.

In various embodiments, a second electronic device 208 can be removablycoupled to a portion of a user's equipment, body, or clothing thatremains outside of the water or is at least periodically (oraperiodically) outside of the water to improve GNSS signal 206reception. For example, the second electronic device 208 can be coupledto the back of a user's goggles 210, a mask (not shown), a snorkel (notshown), a headband (not shown), or a swim cap (not shown). In otherembodiments, the second electronic device 208 can be coupled to a user'sclothing (e.g., a wet suit, a rash guard, a swim shirt). The secondelectronic device 208 can preferably be coupled to an upper portion ofthe clothing so it can maximize the reception of GNSS signals 206. Insome embodiments, the second electronic device 208 can be attached to aband that can be wrapped around an upper torso of a user.

The second electronic device 208 can include an antenna, a GNSSreceiver, a power source (e.g., a battery), a processor, a wirelesstransceiver, and a memory. The second electronic device 208 can includea clip to attach to a user's equipment or clothing. The data collectedby the second electronic device 208 can include radio frequency signals(boosted), intermediate frequency (IF) data, I/Q data that shows thechanges in magnitude (or amplitude) and phase of a sine wave(digitized), pseudo ranges, and calculated locations. In variousembodiments, the location data can be filtered in real time to accountfor heading (using magnetometer or GNSS location), current drift, andlocation history.

Another advantage of collecting the GNSS information at a secondelectronic device 208 is to avoid the Doppler issue associated with theuser moving the arms during the swim strokes. The head and the top ofthe torso would have much less Doppler effect associated with themovement of the body during swimming as compared with the movement ofthe arm.

The location data collected by the second electronic device 208 can besent via a peer-to-peer wireless protocol (e.g., Bluetooth, LTE direct,WiFi Direct, PC5, ultra-wideband (UWB), etc.) to the wearable device 204continuously or periodically. In some embodiments, the location data canbe opportunistically sent to the wearable device 204 when the wearabledevice 204 is out of the water. In some embodiments, wearable device 204may obtain location data collected by the second electronic device 208(e.g., GNSS signals received by second electronic device 208), andselectively use the GNSS signals received by the antenna on wearabledevice 204, location data (e.g., GNSS signals) collected by secondelectronic device 208, or both for positioning for a given time window.In some embodiments, the second electronic device 208 can batch andstore the location data and send the location data to the wearabledevice 204 (e.g., a smart watch) when the swim session has beencompleted. In some embodiments, an emergency mode may override normalcommunication protocols to transfer the location data to the wearabledevice 204 in drowning situations or situations with strong currents,storms, or a particular user interface setting. Many wearable devices204 have Wide Area Network (WAN) capabilities that would allow thewearable devices 204 to connect with emergency services.

In some implementations, wearable device 204 (e.g., a smart watch) andsecond electronic device 208 (e.g., on or in goggles 210) may detect,identify, authenticate (if needed), and/or communicate with each other,and one or both of them may be selected for GNSS searching based on thequality of the GNSS signals received by the two devices or otherfeatured detected by sensors on the user. For example, if certainopen-water swim features (e.g., a swimming pool, a beach, etc.) aredetected by goggles 210 or other sensors (e.g., a camera) on the user,the GNSS measurements may be transferred to goggles 210, a facemask, orother devices (e.g., a floating buoy) that may be at least periodicallyout of the water. In one smart watch (or smartphone) centricimplementation, certain open-water swim features may be configured onthe smart watch. When goggles and the open-water swim features aredetected, the goggles may be turned on for GNSS measurements andposition buffering, where the fix rate may be controlled by the user viathe smart watch or the smartphone (e.g., using an appropriate UI) or viathe goggles. The goggles may store GNSS location data and may, forexample, via Bluetooth, upload the GNSS location data to the smart watchor smartphone either when the user is out of water or occasionally whenthe user's hand is out of water or when the smart watch requests GNSSlocation data. The smart watch may either automatically delegate theGNSS signal measurement function to the goggles if present, or maydelegate based on certain configurable user selections or environmentconditions. For example, the smart watch may delegate the GNSS signalmeasurement function to a goggle when the smart watch is under water orbeing blocked (e.g., based on the received signal level below athreshold value) while the goggle is out of water or has a betterreception of GNSS signals. In some embodiments, the GNSS signalmeasurement may be switched from the goggle back to the smart watch, forexample, when the goggle is in water while the smart watch is out ofwater, or the goggle may not accept the delegation due to, for example,a low battery condition or a poor GNSS signal reception.

In some implementations, based on certain data measured by the sensors,such as images captured by a camera, at least one of the smart watch,the goggles, or both may be switched on or off, or the smart watch orthe goggles may make measurements at a higher or lower rate. Forexample, the GNSS measurement function of the smart watch or the gogglesmay be turned on (or turned off) if it is determined based on imagescaptured by the camera that the user in (or out of) a pool or openwater. In some cases, based on the condition indicated by the sensordata, such as the surrounding environment of the user, the GNSSmeasurements may be disabled to save power.

Following completion of a swim, the collected statistics (e.g., track,speed, drift, and currents) for the swim can be displayed on a map viathe wearable device 204. The collected statistics can also betransferred to a second electronic device (e.g., a mobile device, atablet, or a laptop computer) for display. The collected statistics canbe transferred to a server for display and access from any networkeddevice, subject to authentication.

FIG. 3 illustrates an example of a wearable device 300. Wearable device300 may be an example of wearable device 204. Wearable device 300 caninclude a case 302, a face 308 (or a window, a display, a screen, orcrystal), and a band 310.

FIG. 3 illustrates a plurality of GNSS signals 206 originating from aplurality of GNSS satellites 110. FIG. 3 illustrates a water-to-airinterface 330 between the face 308 and a PCB board 334 when wearabledevice 300 is under water. As shown in FIG. 3, there is a gap 304 (anair or a vacuum gap) between the face 308 and a GNSS antenna 332 on thePCB board 334. The GNSS signals 206 propagate from one medium (e.g.,air) to a second medium (water), and may be at least partially reflectedat the air-to-water interface. The remaining portion of the GNSS signals206 may propagate in water and may be further attenuated. The portion ofthe GNSS signals 206 that reaches the face 308 of the wearable device300 may be at least partially reflected at the water-to-air interface330 before entering the gap 304. Thus, the GNSS signals 206 may begreatly attenuated before reaching the GNSS antenna 332 on the PCB board334. This results in a reduction of the signal-to-noise ratio of theGNSS signals 206 received at the GNSS antenna 332. This reduction in thesignal-to-noise ratio of the GNSS signals 206 can result in missedpositioning opportunities for the wearable device 300.

FIG. 4 illustrates an example of a wearable device 400. Wearable device400 may be an example of wearable device 204. The wearable device 400can include a case 402, a bezel 404, a crown 406, a face 408 (orcrystal), bands 410, a camera access port 420, a clasp 414, or anycombination thereof.

In various embodiments, a GNSS antenna can be incorporated into anexterior portion of the wearable device 400. In some embodiments, theexterior portion can be the circular bezel 404 of the wearable device400. In this way, the bezel 404 can function as a circular “patch-like”antenna to receive GNSS signals. The circular antenna can preferentiallyaccept a polarized signal, such as a circularly polarized signal. Invarious embodiments, the bezel 404 can be electrically connected via awire (not shown) or other means to a GNSS receiver (not shown) in thecase 402 of the wearable device 400. As the bezel 404 is outside thecase 402 or housing of the wearable device 400, this location for theGNSS antenna avoids the water-to-air interface between the exterior ofthe case and an internal GNSS antenna. In various embodiments, the GNSSantenna in the bezel 404 can be connected to a low noise amplifier andthen to a connector on the PCB board with the GNSS receiver.

In other embodiments, the exterior portion can be a crown 406 of thewearable device 400. In this way, the crown 406 can function as acircular “patch-like” antenna to receive GNSS signals. The antenna canresult in a polarized signal being received. In various embodiments, thecrown 406 can be electrically connected via a wire or other means to aGNSS receiver (not shown) in the case 402 of the wearable device 400. Asthe crown 406 is outside the case 402 or housing of the wearable device400, this location for the GNSS antenna also avoids the water-to-airinterface between the exterior of the case and an internal GNSS antenna.In various embodiments, the GNSS antenna in the crown 406 can beconnected to a low noise amplifier and then to a connector on the PCBboard with the GNSS receiver.

In other embodiments, the exterior portion can be the face 408 (or awindow, cover, or crystal) of the wearable device 400. A mesh, a loop,an inverted F antenna, a directional antenna, or an omnidirectionalantenna may be formed on the interior or exterior surface of face 408 orembedded in face 408 to function as an antenna for receiving GNSSsignals. For example, a fine and thin mesh antenna 416 can be attachedto the interior or exterior surface of face 408 or embedded in face 408to receive GNSS signals. In various embodiments, the mesh antenna 416can be electrically connected via a wire or other means to a GNSSreceiver (not shown) in the case 402 of the wearable device 400. Themesh antenna 416 can be virtually translucent or transparent so that anydisplay on a dial of wearable device 204 can be viewed through the meshantenna 416. As the mesh antenna 416 is on an exterior or interiorsurface of or inside the case 402 or housing of the wearable device 400,this location for the GNSS antenna can also avoid the water-to-airinterface between the exterior of the case and an internal GNSS antenna.In various embodiments, the GNSS antenna in the face 408 can beconnected to a low noise amplifier and then to a connector on the PCBboard with the GNSS receiver. In various embodiments, the mesh antenna416 can be integrated into a display or screen of the wearable device400.

In other embodiments, the exterior portion can be portions of one orboth bands 410 of the wearable device 400. The bands 410 (or straps) caninclude one or more GNSS antenna elements 418. The GNSS antenna elements418 can be embedded in one or both bands 410 (or straps) of the wearabledevice 400. In various embodiments, there can be a solid connection(e.g., a wire) between the GNSS antenna element 418 and the GNSSreceiver in the interior of the case 402 of the wearable device 400. Invarious embodiments, inductive coupling, capacitive coupling, or anotherwireless interface can be used between the GNSS receiver and the GNSSantenna element 418, the bezel 404, or the case 402 of the wearabledevice 400. As the GNSS antenna element 418 is outside the case 402 orhousing of the wearable device 400, this location for the GNSS antennaavoids the water-to-air interface between the exterior of the case andan internal GNSS antenna. In various embodiments, the GNSS antennaelements 418 in a band 410 can be connected to a low noise amplifier andthen to a connector on the PCB board with the GNSS receiver.

In some embodiments, the exterior portion can be a camera access port420 or a complication for the wearable device 400. An inverted-F antennacan be installed in the camera access port 420 to receive GNSS signals.In some embodiments, there can be a solid interface between the GNSSantenna and the GNSS receiver in the interior of the case 402 of thewearable device 400. As the GNSS antenna is outside the case 402 orhousing of the wearable device 400, this location for the GNSS antennaavoids the water-to-air interface between the exterior of the case andan internal GNSS antenna. In various embodiments, the GNSS antenna inthe camera access port 420 can be connected to a low noise amplifier andthen to a connector on the PCB board with the GNSS receiver.

FIG. 5 illustrates an example of a wearable device 500. Wearable device500 may be an example of wearable device 204. The wearable device 500can include a case 502, a bezel 504, a crown 506, a face 508 (or adisplay, screen, or crystal), and bands 510.

FIG. 5 illustrates a plurality of GNSS signals 206 originating from aplurality of GNSS satellites 110. As shown in FIG. 5, there is a gap 512and thus a water-to-air interface 530 between the face 508 and a PCBboard 534. In some embodiments, an antenna can be installed on anexterior portion of the wearable device 500 to avoid the water-to-airinterface 530.

In some embodiments, the exterior portion can be a circular bezel 504 ora crown 506 of the wearable device 500. In other embodiments, theexterior portion can be one or both bands 510 of the wearable device500. The bands 510 (or straps) can include a GNSS antenna element 518.The GNSS antenna elements 518 can be embedded in one or both bands 510(or straps) of the wearable device 500. In various embodiments, therecan be a solid interface between the GNSS antenna element 518 and theGNSS receiver in the interior of the case 502 of the wearable device500. In some embodiments, inductive or capacitive coupling can be usedbetween PCB board 534 and the GNSS antenna element 518, the bezel 504,or the case 502 of the wearable device 500.

In some embodiments, the exterior portion can be the face 508 or crystalof the wearable device 500. A mesh, a loop, an inverted F antenna, adirectional antenna, or an omnidirectional antenna may be formed on theinterior or exterior surface of face 508 or embedded in face 508 tofunction as an antenna for receiving GNSS signals. For example, a meshantenna 516 can be attached to the interior or exterior surface of face508 or embedded in face 508 to receive GNSS signals. In someembodiments, the mesh antenna 516 can be electrically connected via awire or other means to a GNSS receiver (not shown) on PCB board 534 inthe case 502 of the wearable device 500. The mesh antenna 516 can bevirtually translucent or transparent so that a display can be viewedthrough the mesh antenna 516.

FIG. 6 illustrates an example of a wearable device 600 according tocertain embodiments. Wearable device 600 may include a case 610, a topcover 620, a bottom cover 630, a band 640, a PCB board 650 in case 610,and a crown 660. Case 610 may include at least a layer 612 that includesa non-conductive material, such as a plastic, a ceramic, or anotherdielectric material. Top cover 620 and bottom cover 630 may be parts ofcase 610 or may be coupled to case 610 to form a hermetically sealedcase or housing. Top cover 620 may include, for example, a display, ascreen, or a glass window. A bezel 622 may be at the circumference oftop cover 620. Bottom cover 630 may include a conductive plate that maybe in contact with a user's skin when in use. In some embodiments,wearable device 600 may include a structure different from band 640 toattach wearable device 600 to a user or the apparel a user wears. Forexample, the structure may be a hook, a clip, a fastener, and the like.PCB board 650 may include various electrical components and circuitsinstalled thereon, such as signal conditioning circuits, varioussensors, data processing units, communication subsystems, input/outputdevice (e.g., display) drivers, memory, and the like, as described inmore detail below with respect to FIG. 15. For example, wearable device600 may include a pressure sensor that can determine the depth ofwearable device 600 under water. The electrical components and circuitson PCB board 650 may be used to perform various methods described below.PCB board 650 may be at a distance 604 (e.g., by an air or vacuum gap,or a dielectric filling material) from top cover 620. Wearable device600 may also include one or more antennas, such as a GNSS antenna, a WANor Wi-Fi antenna, a near-field communication (NFC) antenna, a Bluetooth(e.g., BLE) antenna, and the like.

In various embodiments, one or more GNSS antennas may be located at oneor more exterior portions of the body of the wearable device 600 forreceiving GNSS signals at the exterior portions of the body of wearabledevice 600, rather than at PCB board 650 or other portions of wearabledevice 600 inside case 610. For example, in some embodiments, bezel 622may include a metal ring that can, in combination with layer 612 andbottom cover 630, form a ring-shaped GNSS antenna to receive GNSSsignals. Bottom cover 630 may be a ground plane for the GNSS antenna,where a user (e.g., in water) may function as a ground or provide a pathto ground (or water). Layer 612 may be the dielectric layer between theground and the meta ring. The ring-shaped GNSS antenna maypreferentially accept polarized signals, such as a circularly polarizedGNSS signal. In some embodiments, the metal ring of bezel 622 may beelectrically connected via a connector 672 (e.g., a metal wire or aconducting via) or other means (e.g., through capacitive or inductingcoupling) to a GNSS receiver on PCB board 650. In some embodiments, themetal ring in bezel 622 may be connected to a low noise amplifier (LNA)670 and/or a filter first for signal conditioning and amplification, andthe output of LNA 670 may be connected to the GNSS receiver on PCB board650 through connector 672. Because bezel 622 is outside of case 610 ofthe body of wearable device 600, the GNSS signals can be received by thering-shaped GNSS antenna outside of case 610. As such, the GNSS signalswould not need to propagate into case 610 through the gap or fillingmaterial to reach PCB board 650. Therefore, the water-to-air interfacebetween the exterior of case 610 and an internal GNSS antenna as shownin FIG. 3 (e.g., water-to-air interface 330) may be avoided by the GNSSsignals. In addition, bezel 622 may at least periodically face the skywhen the user in water (e.g., when the user is swimming in open water)makes a stroke. Therefore, the ring-shaped GNSS antenna formed by themetal ring in bezel 622 may more efficiently receive the GNSS signals.

In some embodiments, the exterior portion may be top cover 620 (e.g., aglass or plastic window, a screen, or a display) of wearable device 600.A mesh, a loop, an inverted F antenna, a directional antenna, or anomnidirectional antenna may be formed on the interior or exteriorsurface of top cover 620 or embedded in top cover 620 to function as anantenna for receiving GNSS signals. For example, a fine and thin metalmesh 624 may be formed on the top (exterior) or bottom (interior)surface of top cover 620 or may be embedded in top cover 620. Metal mesh624 may be translucent or transparent to visible light such that a dialor a display panel of wearable device 600 can be viewed through metalmesh 624. Metal mesh 624 may, in combination with layer 612 and bottomcover 630, form a mesh GNSS antenna. Bottom cover 630 may be a groundplane for the mesh GNSS antenna, where a user (e.g., in water) mayfunction as a ground or provide a path to ground (or water). Layer 612may be the dielectric layer between the ground and metal mesh 624. Insome embodiments, metal mesh 624 may be electrically connected via aconnector 672 (e.g., a metal wire or a conducting via) or other means(e.g., through capacitive or inducting coupling) to a GNSS receiver onPCB board 650. In some embodiments, metal mesh 624 may be connected to alow noise amplifier 670 and/or a filter first for signal conditioningand amplification, and the output of LNA 670 may be connected to theGNSS receiver on PCB board 650 through connector 672. Because metal mesh624 is on top cover 620 of wearable device 600, the GNSS signals can bereceived by the mesh GNSS antenna outside of case 610. As such, the GNSSsignals would not need to propagate into case 610 through the gap orfilling material to reach PCB board 650. Therefore, the water-to-airinterface between the exterior of case 610 and an internal GNSS antennaas shown in FIG. 3 (e.g., water-to-air interface 330) may be avoided. Inaddition, metal mesh 624 may at least periodically face the sky when theuser in water (e.g., when the user is swimming in open water) makes astroke. Therefore, the mesh GNSS antenna formed by metal mesh 624 maymore efficiently receive the GNSS signals.

In some embodiments, the exterior portion may be crown 660 of wearabledevice 600. Crown 660 may, in combination with layer 612 and bottomcover 630, form a “patch-like” GNSS antenna to receive GNSS signals asdescribed above. In some embodiments, crown 660 may be connected to alow noise amplifier 670 and/or a filter first for signal conditioningand amplification, and the output of LNA 670 may be connected to theGNSS receiver on PCB board 650 through connector 672. Because crown 660is outside of wearable device 600, the GNSS signals can be received bythe GNSS antenna outside of case 610. As such, the GNSS signals wouldnot need to propagate into case 610 through the gap or filling materialto reach PCB board 650. Therefore, the water-to-air interface betweenthe exterior of case 610 and an internal GNSS antenna shown in FIG. 3(e.g., water-to-air interface 330) may be avoided by the GNSS signals.In addition, crown 660 may at least periodically face the sky when theuser in water (e.g., when the user is swimming in open water) makes astroke. Therefore, the GNSS antenna formed by crown 660 may moreefficiently receive the GNSS signals.

In some embodiments, case 610 may not be hermetically sealed, but PCBboard 650 may be hermetically sealed. Thus, water may be allowed toenter case 610 and fill the gap in case 610 to eliminate any airinterface in case 610 and signal loss at the air interface. PCB board650 may be hermetically sealed to prevent water from reaching PCB board650. The GNSS antenna may be on PCB board 650 or may be in a dielectricmaterial layer that encapsulates or covers PCB board 650.

In some embodiments, the exterior portion may be portions of band 640 ofwearable device 600. Band 640 may include one or more GNSS antennaelements 642. For example, GNSS antenna elements 642 can be embedded inband 640 of wearable device 600. In some embodiments, GNSS antennaelement(s) 642 may be connected to a low noise amplifier 670 and/or afilter first for signal conditioning and amplification, and the outputof LNA 670 may be connected to the GNSS receiver on PCB board 650through connector 672. Because GNSS antenna elements 642 is outside ofwearable device 600, the GNSS signals can be received by the GNSSantenna outside of case 610. As such, the GNSS signals would not need topropagate into case 610 through the gap or filling material to reach PCBboard 650. Therefore, the water-to-air interface between the exterior ofcase 610 and an internal GNSS antenna shown in FIG. 3 (e.g.,water-to-air interface 330) may be avoided by the GNSs signals. Inaddition, GNSS antenna element(s) 642 may be close to case 610 and thusmay at least periodically face the sky when a user in water (e.g., whenthe user is swimming in open water) makes a stroke. Therefore, the GNSSantenna formed by crown 660 may more efficiently receive the GNSSsignals.

In some embodiments, any combination of these GNSS antennas describedabove may be used to receive the GNSS signals. In some embodiments, theGNSS antenna may include an array of antenna elements. In someembodiments, the GNSS antenna may also be used as, for example, a WAN orWi-Fi antenna. For example, a filter or a splitter may be used toseparate GNSS signals and WAN or Wi-Fi signals. In some embodiments, aswitch may be used to connect the antenna to the GNSS receiver circuiton PCB board 650 or to a WAN or Wi-Fi receiver circuit on PCB board 650.For example, the pressure sensor described above may be used todetermine whether wearable device 600 is in water such that the antennamay be switched to the GNSS receiver circuit when wearable device 600 isdetermined to be out of water or to the WAN or Wi-Fi receiver circuitwhen wearable device 600 is determined to be in water.

FIG. 7 illustrates a technique for projecting satellite position forincreasing positioning accuracy. In various embodiments, a secondelectronic device 208 can be removably coupled to a portion of a user'sequipment or clothing that remains outside of the water to improve GNSSsignal 206 reception. For example, the second electronic device 208 canbe coupled to the back of a user's goggles 210, a mask (not shown), asnorkel (not shown), a headband (not shown), or a swim cap (not shown).

The conventional approach to using GNSS satellites to determine areceiver's position generally requires the receiver to downloadnavigation messages from three or more visible satellites, extract thebroadcast ephemerides for each satellite from the navigation messages,and utilize the ephemeris data to compute the position of the satellitesin the ECEF (earth-centered earth-fixed) coordinate system at a specifictime. The broadcast ephemerides for each satellite are provided in aframe of data that takes about 30 seconds to send/receive. The broadcastephemerides are valid for a period of four hours starting from the timethe satellite starts to broadcast the navigation data. A control stationuploads the data to the satellite less frequently, usually a couple oftimes a day. After a four-hour period, the receiver may need to againdownload the latest broadcast ephemerides.

Under “warm” or “cold” start conditions, the GNSS receiver may not havevalid ephemerides, and so it may have to wait until at least foursatellites have been acquired and their broadcast ephemerides extractedbefore estimating a position. This extends the time needed to acquirevalid ephemerides to beyond 30 seconds, perhaps to several minutes,which may not be acceptable to a user.

Furthermore, under weak signal conditions, the signal-to-noise ratio ofthe signal from one or more satellites may fall below the receiver'sthreshold to decode the navigation message without substantial errors.These conditions can exist when a wearable device containing the GNSSreceiver are partially submerged under water. If less than fouravailable satellites are visible, satellite pseudo range data can bepropagated forward for satellites in a position to give the bestpossible dilution of position (DOP) based on known ephemeris data. Forexample, as shown in FIG. 7, the visible GNSS satellites 110 can resultin less than optimum geographic solution for the wearable device 204, inpart because they can tend to skew the location towards the groupingwithout the fourth satellite. One technique to compensate for theseeffects is to use the ephemeris data for the fourth satellite 710because the fourth satellite's GNSS signal 706 is not received by thewearable device 204. The technique can include propagating the fourthsatellites' signal based on prior observations, known times, andephemeris information. For example, in the case of bad Dopplerinformation, adding the fourth satellite can pull the location back intoan accurate position.

To overcome these types of issues, the GNSS receiver can obtainephemerides from, for example, a cellular network if the receiver hasthe capability to communicate with a wireless network via assisted GNSS(A-GNSS). Alternately, the ephemerides can be in the form of a file thatis stored in memory at the receiver. This file may include ephemerisdata for one or more satellites that is valid for several days. The filecan be transmitted to the GNSS receiver using a wireless medium, or auser can periodically connect the GNSS receiver to the Internet anddownload the latest file from a known location. With assistance from thewireless network or from a stored file, the time to first fix (TTFF) canbe reduced to a few seconds (on the order of 5-15 seconds).

However, the size of the file can be problematic. If the file is large,it can take a long time to transfer the file to a GNSS receiver and thewearable device can have limited memory resources. There are usuallycosts associated with the file transfer. For example, the file may haveto be transferred to the GNSS device over a wireless link, or a user mayhave to connect the device to a computer that is linked to the serverwhere the file exists in order to transfer download the file. The costof transferring the file is usually proportional to the transmit time orthe size of the file being transmitted. Also, the user may beinconvenienced by the amount of time it takes to download the file.Furthermore, if the GNSS receiver is part of a wearable device or thelike with limited memory capacity, then a large file may consume aninordinate share of device memory.

According to an embodiment of the invention, a receiving (e.g., client)device can access a file containing scaled values (e.g., integer values)and scaling factors. The scaling factors are used to convert the scaledvalues into coefficients and residuals, which in turn can be used withtime-dependent functions to calculate ephemeris data, including clockcorrection data, for satellite navigation system (e.g., GNSS)satellites. The client device can use the calculated ephemeris data andclock corrections to determine a position (e.g., the location of thedevice). The ephemeris data can be used to predict a location from thefourth satellite 710 even though the predicted GNSS signal 706 is notreceived by the wearable device 204.

By representing the ephemeris data, including clock correction data,using scaled values and scaling factors, the size of the file can besignificantly reduced, in turn reducing the amount of time needed totransmit and/or download the file to the client device and also reducingthe amount of device memory consumed by the file. According toembodiments of the invention, a week's worth of ephemeris data and clockcorrection data can be stored using less than about 15 kilobytes (KB) offile space. A file of this size is better by a factor of three to fourin comparison to the case in which ephemeris data sets estimated from,for example, Jet Propulsion Laboratory data are accumulated every fourhours and sent uncompressed.

The system can include a constellation of satellites 110, a wearabledevice 204 that includes a memory and a central processing unit (CPU)and may also include a wireless receiver, and a location server 160,which also has memory and a CPU and may include a wireless transmitter.

The location server 160 can send ephemeris information 750 to a wearabledevice 204 via a wired or wireless connection, either directly orindirectly (e.g., via an intermediate or companion device of some sort).Ephemeris information 750 may include, for example, long term ephemerisdata, broadcast ephemeris, long term almanac data, broadcast ephemeris,ephemeris/almanac corrections, or a combination thereof. Alternatively,information may be transferred from the location server 160 to thewearable device 204 using some type of portable computer-readablestorage medium such as those mentioned above. The wearable device 204generally has access to information residing on the location server 160.

In one embodiment, the wearable device 204 has the capability to receiveand process satellite navigation system signals from the satellites 110.The satellite navigation system signals include ephemeris data and clockcorrection data. The satellite navigation system signals generallyinclude information that allows the wearable device 204 to determine itslocation.

According to embodiments of the invention, the location server 160receives raw data (source data) in the form of periodic satellitepositions (ECEF x-y-z coordinates) and clock corrections for severaldays into the future from a source such as, but not limited to, the JetPropulsion Laboratory (JPL). Orbital determination, prediction andpropagation for satellites can be forecast with high accuracy. Thesource data may also include quality indicators for both the predictedsatellite positions and clock corrections.

According to some embodiments described herein, predicted ephemeris dataand clock corrections, which may be collectively referred to herein aspseudo-ephemeris or synthetic ephemeris data, is derived at the locationserver 160 from the source data. The pseudo-ephemeris data can be madeavailable to the wearable device 204 in a compressed format within abinary file. The predictions are typically available for a period ofseveral days. The predicted clock corrections can be updated usingbroadcast ephemerides, if available, that are received during the periodcovered by the prediction. By estimating ephemerides from the sourcedata and compressing the result, the ephemerides (including clockcorrections) are formatted in a manner that facilitates transmission,storage and retrieval.

In the discussion to follow, the term “predicted” is used to refer todata that is derived from raw source data in the form of satellitepositions and clock corrections. The predicted data is compressed, aswill be described, and the term “calculated” is used to refer to datathat is calculated (reconstructed) from the compressed data. The term“broadcast” is used to refer to data that is broadcast from a satellite.In a sense, predicted data is used to forecast broadcast data, andcalculated data (which is based on predicted data) is used in lieu ofbroadcast data.

Ephemeris parameters can be estimated from raw (source) data that is inthe form of periodic satellite positions (ECEF x-y-z coordinates) andclock corrections for several days into the future. In other words,instead of converting a set of ephemeris parameters to satellitepositions in ECEF coordinates, the reverse operation of going from knownsatellite positions to a set of ephemeris parameters is performed.

The source data is not necessarily continuous; for example, the sequenceof satellite positions and clock corrections may be provided at15-minute intervals. The result of this process is a set oftime-dependent and satellite-dependent ephemeris parameters and clockcorrections. If the source data is spaced at 15-minute intervals, thenat this point the predicted ephemeris parameters and clock correctiondata are also spaced at 15-minute intervals.

The time-dependent values of each ephemeris parameter (excluding clockcorrections, which are discussed below) can be independently representedas a continuous function of time and other orbital parameters. Forexample, a polynomial or trigonometric function can be fit to the datagenerated in this process, with each parameter represented by a separatefunction or model. There may be differences between the values used toderive the function (the predicted values from this process) and thevalues calculated when the function is subsequently evaluated. Thesedifferences, or residuals, can also be calculated for various timeintervals. To reduce the amount of data in the binary file, theresiduals can be determined as follows: if, for example, the predictedephemeris parameters are determined at 15-minute intervals, then theresiduals can also be determined at 15-minute intervals, but then a meanof the residuals for a period of four to six hours can be calculated andincluded in the binary file.

The clock corrections also vary with time, and in a similar manner thevariation of the clock corrections can be represented as a sum ofpolynomial and harmonic curves. The clock correction term in the source(e.g., JPL) data can be curve-fit, and the coefficients of the curve canbe represented using scaled values and scaling factors. The polynomialcoefficients given in subframe one (e.g., af0, af1 and af2) terms thatcorrespond to the phase error, frequency error, and rate of change offrequency error, respectively, can be derived from the clock correctionmodel when the ephemeris and clock corrections are reconstructed at thereceiver.

The coefficients and constants associated with the functions derived inthis process can each represented as the product of a scaling factor anda scaled value such as a signed integer value. For example, a predictedephemeris parameter may be represented as a time-dependent third-orderpolynomial with three coefficients and a constant, each of which can berepresented as the product of a scaling factor and an integer. Thecoefficients for curve fit to the clock correction term can also beexpressed as multiples of a scaling factor and a scaled value.

The scaling factors and signed scaled values can be converted to thebinary number system and written into a file that has a specific formatknown to the satellite navigation system receiver (e.g., the wearabledevice 204). Such a file can be about 15 KB in size or may be as smallas several KBs.

The file can be provided to the receiver in several ways. In oneimplementation, the wearable device 204 connects to a networked computer(e.g., the location server 160) using a known interface (such as auniversal serial bus interface) and downloads the most recent binaryfile prior to a swimming activity. In another implementation, thewearable device 204 utilizes a wireless interface or a cellular networkto connect wirelessly to the location server 160 (or to another devicethat has received the file from the server) in order to download thefile. In other embodiments, a companion device, e.g., a mobile phone,may download the file and transfer to the wearable device 204 throughwired or wireless means.

This process can then be repeated for the next prediction period. Notethat new and more recent binary files can be generated more frequentlythan the frequency at which the wearable device accesses a binary file.That is, for example, the wearable device 204 may download a new binaryfile on a weekly basis; however, a new file may be created every fourhours (e.g., JPL provides a new seven-day prediction every four hours)or, in general, as frequently as the source data is updated.

Depending on the time it takes to download the source data and generatethe binary file, it is possible for the source data to become outdatedat the time the binary file is ready. Thus, the location server 160could verify the source data just before issuing a newly generatedbinary file. Furthermore, sometime may pass between the time the file isgenerated and the time at which the wearable device 204 downloads thefile or uses the information in the downloaded file. During that period,an event may occur that has a significant impact on the manner in whichthe data in the file should be used. For example, for some reason, thesource data for one of the satellites relied upon to generate the datain the file may no longer be satisfactory. Accordingly, the file can bemodified to remove data associated with that satellite, or the wearabledevice 204 can be instructed to ignore data associated with thatsatellite.

At the receiver (wearable device) side, the reverse of the above isessentially implemented in order to reconstruct coefficients, constantsand residuals, which can in turn be used to reconstruct the predictedephemerides and the clock correction terms (e.g., af0, af1 and af2). Thetype of function (e.g., third-order polynomial) that was used by thelocation server 160 to represent the predicted ephemerides and clockcorrections is known to the wearable device 204. The wearable device 204selects the appropriate coefficients, constants and residuals and usesthose values with the proper function to calculate the parameter ofinterest (ephemerides or clock corrections), until all needed values arecalculated. The calculated values can then be used by the wearabledevice 204 to determine its location in a conventional manner.

The binary data can be extracted from the file in different ways,depending on factors such as the amount of available memory, programspace, and processing power. In a device with limited available memoryand buffer space, such as a mobile device, the ephemerides and clockcorrections can be calculated as needed (e.g., for specific satellitesat a given epoch) without having to extract all the data in the binaryfile at once, thus reducing the requirements placed on the clientdevice. Alternatively, all of the ephemerides and clock correctionsrepresented in the file can be calculated, or some subset (e.g., asliding window) of values can be calculated.

The calculated clock correction terms for a particular satellite can beadjusted at the wearable device 204 using broadcast ephemerides(specifically, broadcast clock correction terms) from that satellite, ifsuch broadcast information is available. In other words, if the wearabledevice 204 can gain access to more recent clock correction data, thenthe client device can use that information to correct the clockcorrection terms.

The predicted ephemeris data for a plurality of satellites is derivedfrom source data that describes predicted positions of the satellites atselected times. Each satellite orbit can be modeled as a modifiedelliptical orbit where the ideal two-body Kepler orbit is perturbed byseveral factors not limited to non-spherical earth gravitationalharmonics, solar radiation pressure, lunar, and solar gravitation.

FIG. 8 illustrates an exemplary flow chart of a process 800 forimproving reception of GNSS signals during water immersion activities.In some implementations, one or more process blocks of FIG. 8 can beperformed by a wearable device described herein, such as wearable device204, 400, 500, or 600 described above. In some implementations, one ormore process blocks of FIG. 8 can be performed by another device or agroup of devices separate from or including the wearable device.

At 810, process 800 can include receiving a plurality of GNSS signalsusing an antenna, where the antenna is located in an exterior portion ofa wearable device (e.g., a smart watch) such that the antenna receivesthe plurality of GNSS signals without the plurality of GNSS signalsfirst passing through an air gap within a case or housing of thewearable device. For example, the wearable device (e.g., usingprocessing unit(s) 1510, memory 1560, GNSS receiver 1580, GNSS antenna1582, and/or the like as illustrated in FIG. 15 and described below) canreceive a plurality of GNSS signals 206 using an antenna, as describedabove. In some implementations, the antenna is in an exterior portion ofa wearable device such that the antenna detects the plurality of GNSSsignals without the plurality of GNSS signals first passing through anair gap within the case or housing of the wearable device. In someimplementations, the exterior portion of the wearable device can includea bezel of the wearable device. In some implementations, the exteriorportion of the wearable device can include a crown of the wearabledevice. In some implementations, the exterior portion of the wearabledevice can include a portion of a band of the wearable device adjacent aface of the wearable device. In some implementations, the exteriorportion can include a face of the wearable device and the antennacomprises a mesh antenna.

By positioning the GNSS antenna outside the device, the water-to-airboundary can be avoided which may allow for reception of GNSS signals ata depth. It may only be a few centimeters, but this may be sufficientfor reception of GNSS signals under some swimming strokes (e.g.,sidestroke, or breaststroke). When a user's arm comes straight out infront of the torso, it may be close enough to the surface for receivingGNSS signals.

At 820, process 800 can include calculating a geographic location of thewearable device based at least in part on the plurality of GNSS signals.Each of the GNSS satellites emits signals to receivers that determinetheir locations by computing the difference between the time that asignal is sent and the time it is received. GNSS satellites carry atomicclocks that provide extremely accurate time. The time information isplaced in the codes broadcast by the satellite so that a receiver cancontinuously determine the time the signal was broadcast. The signalcontains data that a receiver uses to compute the locations of thesatellites and to make other adjustments needed for accuratepositioning. The GNSS receiver uses the time difference between the timeof signal reception and the broadcast time to compute the distance, orrange, from the receiver to the satellite. The receiver must account forpropagation delays or decreases in the signal's speed caused by theionosphere, the troposphere, and the water. With information about theranges to three or more satellites and the location of the satellitewhen the signal was sent, the receiver can compute its ownthree-dimensional position. An atomic clock synchronized to GNSS is usedin order to compute ranges from these satellites. However, by taking ameasurement from a fourth satellite, the receiver avoids the need for anatomic clock. Thus, the receiver uses four satellites to computelatitude, longitude, altitude, and time. For example, the wearabledevice (e.g., using processing unit(s) 1510, memory 1560, GNSS receiver1580, GNSS antenna 1582, and/or the like as illustrated in FIG. 15 anddescribed below) can calculate a geographic location of the wearabledevice based at least in part on the plurality of GNSS signals, asdescribed above.

At 830, process 800 can include storing the geographic location in amemory of the wearable device. For example, the wearable device (e.g.,using processing unit(s) 1510, memory 1560, GNSS receiver 1580, GNSSantenna 1582, output device 1515 and/or the like as illustrated in FIG.15 and described below) can store one or more geographic locations andassociated times in a memory of the wearable device, as described above.The memory can be, for example, a flash memory installed inside thewireless device. The one or more geographic locations and associatedtimes can be transmitted from the wearable device to one or moreelectronic devices or a cloud storage via a wired or wireless protocol.

Process 800 can include additional implementations, such as any singleimplementation or any combination of implementations described belowand/or in connection with one or more other processes describedelsewhere herein. It should be appreciated that the specific stepsillustrated in FIG. 8 provide particular techniques for improvingreception or compensating for attenuation of GNSS signals during waterimmersion activities according to various embodiments of the presentdisclosure. Other sequences of steps can also be performed according toalternative embodiments. For example, alternative embodiments of thepresent disclosure can perform the steps outlined above in a differentorder. Moreover, the individual steps illustrated in FIG. 8 can includemultiple sub-steps that can be performed in various sequences asappropriate to the individual step. Furthermore, additional steps can beadded or removed depending on the particular applications. One ofordinary skill in the art would recognize many variations,modifications, and alternatives.

In some implementations, process 800 includes accessing informationregarding a plurality of stored geographic points stored in the memoryof the wearable device. The stored geographic points can define ageographic zone, such as a swim lane. The process 800 can includedetermining whether the geographic location of the wearable device isoutside the defined swim lane. The process 800 can include providingfeedback to a user indicating the geographic location of the wearabledevice is outside the swim lane.

In various embodiments, buoys or boats on an open watercourse can havebeacons that transmit wireless signals that can be received by thewearable device and be used in defining the swim lanes. The buoys orboats can include devices to perform differential processing on receivedGNSS signals or perform one or more ranging techniques with the wearabledevices. If there are multiple buoys or boats or some combinationthereof, trilateration techniques can be used to determine an accurateposition of the wearable device.

Other terrestrial transmitters in water or out of water, such as nearbyaccess points, 5G TRPs, beacons, and UWB reference points (e.g., on adevice fixed on shore or on a buoy), may also transmit wireless signalsthat can be received by the wearable device for positioning.

In some implementations, the feedback comprises haptic feedback. Forexample, the feedback can include vibrating the housing of the wearabledevice. In some embodiments, the vibrating can be performed in anidentifiable pattern. In some implementations, the feedback comprisesaudio feedback. The audio feedback can include sound (e.g., an auraltone or beeping) from a speaker on the wearable device. In someembodiments, the feedback can be a message sent wirelessly as via awireless protocol. The message can be received by another device, suchas a smart mask or smart goggles which can receive the message anddisplay the information via a display of the smart mask or smartgoogles. In some embodiments, the feedback can be visual feedback, suchas the flashing of a light source.

In some implementations, process 800 includes storing a plurality ofgeographic locations and associated times in the memory of the wearabledevice. The process 800 can include calculating one or morecharacteristics of the water immersion activities based at least in parton the plurality of geographic locations and the associated times. Forexample, the characteristics can include automatically calculated speed,distance, route, tracking calories, and overall pace.

In some implementations, process 800 can include sending, via a wirelesslink, the geographic location of the wearable device to anotherelectronic device. For example, the information can be transmitted via awireless protocol (e.g., Bluetooth) to a mobile device.

In some implementations, the wearable device comprises a casing oranother structure configured to be removably coupled to user equipmentor clothing. In some embodiments, the casing can be coupled to one ofswim googles, a swim mask, or a snorkel. In some embodiments, the casingcan be coupled to clothing including one or more of a wet suit, a rashguard, and/or a swim shirt.

Although FIG. 8 shows example steps of process 800, in someimplementations, process 800 can include additional steps, fewer steps,different steps, or differently arranged steps than those depicted inFIG. 8. Additionally, or alternatively, two or more of the steps ofprocess 800 can be performed in parallel.

In one aspect, a wearable device can include a communication interface,a memory, and one or more processing units communicatively coupled withthe communication interface and memory and configured to cause thewearable device to perform the methods described above.

In another aspect, a non-transitory computer-readable medium can includea plurality of instructions stored thereon, where the plurality ofinstructions when executed on a processor cause the processor to performthe methods described above.

FIG. 9 is a flow chart of an example process 900 for compensating forattenuation of GNSS signals during water immersion activities. In someimplementations, one or more process blocks of FIG. 9 can be performedby a wearable device described herein, such as wearable device 204, 400,500, or 600. In some implementations, one or more process blocks of FIG.9 can be performed by another device or a group of devices separate fromor including the wearable device.

At 910, process 900 can include receiving a plurality of GNSS signalsvia an antenna in a wearable device. For example, the wearable device(e.g., using processing unit(s) 1510, memory 1560, GNSS receiver 1580,GNSS antenna 1582, and/or the like as illustrated in FIG. 15 anddescribed below) can receive a plurality of GNSS signals via an antennain a wearable device, as described above. The process of computinglatitude, longitude, altitude, and time is described above with respectto FIG. 8.

At 920, process 900 can include calculating a plurality of geographiclocations of the wearable device over time based at least in part on theplurality of GNSS signals. For example, the wearable device (e.g., usingprocessing unit(s) 1510, memory 1560, DSP 1520, bus 1505 and/or the likeas illustrated in FIG. 15 and described below using processing unit(s)1510, memory 1560, GNSS receiver 1580, GNSS antenna 1582, and/or thelike as illustrated in FIG. 15 and described below) can calculate aplurality of geographic locations of the wearable device over time basedat least in part on the plurality of GNSS signals, as described above.

At 930, process 900 can include storing the plurality of geographiclocations and associated time stamps in a memory of the wearable device.For example, the wearable device (e.g., using processing unit(s) 1510,memory 1560, GNSS receiver 1580, bus 1505, and/or the like asillustrated in FIG. 15 and described below) can store the geographiclocations and associated time stamps in a memory of the wearable device,as described above. The memory of the wearable device can include asolid-state memory (e.g., a flash memory).

At 940, process 900 can include measuring a depth of the wearable deviceusing a pressure sensor on the wearable device that correlates adetected pressure to the depth. As depth increases, the pressure againstthe wearable device increases. For example, the wearable device (e.g.,using processing unit(s) 1510, memory 1560, sensors 1540 (e.g., apressure sensor 1542), and/or the like as illustrated in FIG. 15 anddescribed below) can measure a depth of the wearable device using apressure sensor on the wearable device that correlates a detectedpressure to the depth, as described above. Pressure transducers have asensing element of constant area and respond to force applied to thisarea by fluid pressure. The force applied will deflect the diaphragminside the pressure transducer. The deflection of the internal diaphragmis measured and converted into an electrical output. The measuredpressure can be correlated to a depth.

At 950, process 900 can include determining if the measured depthexceeds a threshold depth. The threshold depth can be determined by themaximum depth for reception of GNSS signals by the wearable device. Thethreshold depth can be a few centimeters to a few tens of centimeters indepth. If the threshold depth is exceeded, the process 900 can includedetermining a historical speed of the wearable device based at least onthe geographic locations and the associated times saved in the memory ofthe wearable device. For example, the wearable device (e.g., usingprocessing unit(s) 1510, memory 1560, sensors 1540 (e.g., pressuresensor 1542) and/or the like as illustrated in FIG. 15 and describedbelow) can determine if the measured depth exceeds a threshold depth, asdescribed above. If the measured depth does not exceed the thresholddepth, the wearable device can continue to measure depth as shown inblock 940.

At 960, process 900 can include determining a historical speed of thewearable device based at least on the stored geographic locations andassociated time stamps that are stored in the memory of the wearabledevice. For example, the wearable device (e.g., using processing unit(s)1510, memory 1560, DSP 1520, and/or the like as illustrated in FIG. 15and described below) can calculate the distance between the storedgeographic locations and the time difference between the time stampsassociated with the stored geographic positions to determine a speed.The calculated speed value can be stored in the memory of the wearabledevice.

At 970, process 900 can include determining a direction of motion of thewearable device based at least in part on a magnetic signature receivedon a magnetometer of the wearable device. The earth's magnetic fieldresembles that of a simple bar magnet. This magnetic dipole has itsfield lines originating at a point near the south pole and terminatingat a point near the north pole. These points are referred to as themagnetic poles. These field lines vary in both strength and directionabout the face of the earth. In North America the field lines pointdownward toward north at an angle roughly 70 degrees into the earth'ssurface. This angle is called the magnetic angle of inclination (Ø). Thedirection and strength of the earth's magnetic field (He) can berepresented by the three axis values Hx, Hy, and Hz. The Hx and Hyinformation can be used to determine compass headings in reference tothe magnetic poles. It is the earth's rotational axis that defines thegeographic north and south poles that can be used for map references.There is a discrepancy of about 11.5 degrees between the geographicpoles and the magnetic poles. A value can be applied to the magneticdirection to correct for this called the declination angle. This hasbeen mapped across the globe and takes into account other factors suchas large iron deposits and other natural anomalies. A magnetic readingin central California, for example, would indicate 16° to the east whenpointing toward true geographic north.

To determine compass headings using a magnetometer, the device must belevel to the earth's surface, there should not be any ferrous materialsinterfering with the earth's field and the declination angle must beknown. Various tilt compensation circuits and techniques can be used tonormalize a magnetometer reading that is not level. There are also moresophisticated algorithms to account for nearby ferrous materials tocorrect for their effect on the earth's field. A compass heading can bedetermined by using just the Hx and Hy component of the earth's magneticfield, that is, the directions planar with the earth's surface. Hold themagnetometer flat in an open area and note the Hx and Hy magneticreadings. These readings vary as the magnetometer is rotated in acircle. The maximum value of Hx and Hy depend on the strength of theearth's field at that point. The magnetic compass heading can bedetermined (in degrees) from the magnetometer's x and y readings byusing the following set of equations:

${{{Direction}\left( {y > 0} \right)} = {90 - {\left\lbrack {{arc}{TAN}\left( \frac{x}{y} \right)} \right\rbrack*180}}},$${{{Direction}\left( {y < 0} \right)} = {270 - {\left\lbrack {{arc}{TAN}\left( \frac{x}{y} \right)} \right\rbrack*180}}},$Direction(y = 0, X < 0) = 180, and Direction(y = 0, X > 0) = 0,

To determine true north heading, the appropriate declination angle canbe added or subtracted.

For example, the wearable device (e.g., using processing unit(s) 1510,memory 1560, GNSS receiver 1580, GNSS antenna 1582, a magnetometer 1546and/or the like as illustrated in FIG. 15 and described below) candetermine a direction of motion of the wearable device based at least inpart on a magnetic signature received on a magnetometer of the wearabledevice, as described above.

At 980, process 900 can include determining one or more underwatergeographic locations of the wearable device over time using thehistorical speed and the direction of motion. The process 900 can beknown as underwater dead reckoning. For example, the wearable device(e.g., using processing unit(s) 1510, memory 1560, a DSP 1520, and/orthe like as illustrated in FIG. 15 and described below) can determineone or more underwater geographic locations of the wearable device overtime using the historical speed and the direction of motion, asdescribed above.

At 990, process 900 can include saving the one or more underwatergeographic locations of the wearable device to the memory. For example,the wearable device (e.g., using processing unit(s) 1510, memory 1560, aDSP 1520, and/or the like as illustrated in FIG. 15 and described below)can save the one or more underwater geographic locations of the wearabledevice to the memory, as described above.

Process 900 can include additional implementations, such as any singleimplementation or any combination of implementations described belowand/or in connection with one or more other processes describedelsewhere herein. It should be appreciated that the specific stepsillustrated in FIG. 9 can provide particular techniques for compensatingfor the attenuation of GNSS signals during water immersion activitiesaccording to various embodiments of the present disclosure. Othersequences of steps can also be performed according to alternativeembodiments. For example, alternative embodiments of the presentdisclosure can perform the steps outlined above in a different order.Moreover, the individual steps illustrated in FIG. 9 can includemultiple sub-steps that can be performed in various sequences asappropriate to the individual step. Furthermore, additional steps can beadded or removed depending on the particular applications. One ofordinary skill in the art would recognize many variations,modifications, and alternatives.

In some implementations, process 900 includes detecting a secondplurality of GNSS signals at the antenna of the wearable device. Upondetecting the second plurality of GNSS signals the process can includecalculating an updated position of the wearable device based at least inpart on the second plurality of GNSS signals. The process 900 caninclude storing the updated position of the wearable device in thememory.

In some implementations, process 900 includes generating a messagecomprising a calculated speed, the determined geographic location, thedetermined direction of motion, or a combination thereof. The processcan include sending, via a wireless protocol, the message to a secondelectronic device. The second electronic device can include a mobiledevice, a tablet, a laptop computer, a server, or another wearabledevice (e.g., smart goggles, smart mask).

Although FIG. 9 shows example steps of process 900, in someimplementations, process 900 can include additional steps, fewer steps,different steps, or differently arranged steps than those depicted inFIG. 9. Additionally, or alternatively, two or more of the steps ofprocess 900 can be performed in parallel.

In one aspect, a wearable device can include a communication interface,a memory, and one or more processing units communicatively coupled withthe communication interface and the memory and configured to cause thewearable device to perform the methods described above.

In another aspect, a non-transitory computer-readable medium can includea plurality of instructions stored thereon, the plurality ofinstructions, when executed on a processor, causing the processor toperform the methods described above.

FIG. 10 illustrates an exemplary flow chart of a process 1000 forcompensating for attenuation of GNSS signals during water immersionactivities. In some implementations, one or more process blocks of FIG.10 can be performed by a wearable device described herein, such aswearable device 204, 400, 500, or 600. In some implementations, one ormore process blocks of FIG. 10 can be performed by another device or agroup of devices separate from or including the wearable device.

At 1010, process 1000 can include receiving a plurality of GNSS signalsusing an antenna in a wearable device. When a GNSS receiver searches fora satellite, the GNSS receiver correlates the signal (which is typicallydown in the noise because the signal strength of GNSS signals is verylow) against a known code for a given satellite. This is done inparallel for a grid of time versus frequency, called a search window.Each cell in the grid is called a bin, where the GNSS receiveraccumulates energy from the correlation against the code that occurredin that time and frequency space. Once the GNSS receiver has acquired aGNSS signal, the receiver can lock onto the satellite signal that isoccurring at the time and frequency space. As the satellites are moving,there is a Doppler shift associated with a particular bin. However, ifthe signal is cutting in and out, as the watch drops in and out of thewater or otherwise progresses through a swim stroke, the receiver wouldneed to relock onto the signal when the hand comes out of the water orat a shallow enough depth that the GNSS receiver can receive signal.

In various embodiments, the GNSS signals can be collected based on atiming of a swim stroke. One or more sensors (e.g., a MEMS sensor, agyro, or a magnetometer) can be used to determine a position of the armduring the stroke. GNSS signal collection can be timed based on thestroke to a time period where GNSS signal acquisition may be possible(e.g., a wearable device on an arm close to the surface of the water orout of the water).

For example, the wearable device (e.g., using processing unit(s) 1510,memory 1560, GNSS receiver 1580, GNSS antenna 1582, and/or the like asillustrated in FIG. 15 and described below) can receive a plurality ofGNSS signals using an antenna in a wearable device, as described above.

At 1020, process 1000 can include measuring a first received energy ofthe GNSS signals during a first dwell period. In various embodiments,the first dwell period is about one second in duration. In theory, thewearable device should be at or close to where the GNSS receiver had itlocked prior to any disruption and the clock should not have driftedsignificantly. At the end of the first dwell period (e.g., 1-sec dwellperiod), there may not be enough signal above a threshold for the firstdwell duration because lots of noise may have accumulated and the signalenergy may not be enough. The noise could be from other satellites,other constellations, terrestrial sources, internal noise, etc.

For example, the wearable device (e.g., using processing unit(s) 1510,memory 1560, GNSS receiver 1580, GNSS antenna 1582, DSP 1520 and/or thelike as illustrated in FIG. 15 and described below) can measure a firstreceived energy of the GNSS signals during a first dwell period, asdescribed above.

At 1030, process 1000 can include measuring a second received energy ofthe GNSS signal during a plurality of secondary dwell periods, where aduration of each of the plurality of secondary dwell periods is shorterthan the first dwell period. This is based on the assumption that theGNSS signal is accumulating in at least some parts of the stroke, thatthe GNSS receiver can look to shorter duration bins in or near the maincenter bins to harvest accumulated energy that occurred in areas wherethere was ample signal energy to correlate against, thus ignoring theparts of the stroke where the noise blocked out the signal. For example,the wearable device (e.g., using processing unit(s) 1510, memory 1560,GNSS receiver 1580, GNSS antenna 1582, DSP 1520, and/or the like asillustrated in FIG. 15 and described below) can measure a secondreceived energy of the GNSS signal during a plurality of secondary dwellperiods, as described above. In some implementations, a duration of eachof the plurality of secondary dwell periods is shorter than the firstdwell period.

At 1040, process 1000 can include storing the second received energy ina memory based at least in part on the second received energy exceedinga first threshold level. For example, the wearable device (e.g., usingprocessing unit(s) 1510, memory 1560, GNSS receiver 1580, GNSS antenna1582, DSP 1520, and/or the like as illustrated in FIG. 15 and describedbelow) can store the second received energy in a memory based at leastin part on the second received energy exceeding a first threshold level,as described above.

At 1050, process 1000 can include determining whether the first receivedenergy is below a second threshold level. If the first received energyis below the second threshold level, the process 1000 can include, at1060, harvesting accumulated energy from the plurality of secondarydwell periods in or near a center bin to determine a location for thewearable device. For example, the wearable device (e.g., usingprocessing unit(s) 1510, memory 1560, GNSS receiver 1580, GNSS antenna1582, DSP 1520, and/or the like as illustrated in FIG. 15 and describedbelow) can determine whether the first received energy is below thesecond threshold level, as described above.

At 1070, process 1000 can include storing one or more characteristics ofthe GNSS signals for the secondary dwell periods in the memory. Forexample, the wearable device (e.g., using processing unit(s) 1510,memory 1560, GNSS receiver 1580, GNSS antenna 1582, and/or the like asillustrated in FIG. 15 and described below) can store one or morecharacteristics of the GNSS signals for the secondary dwell periods inthe memory, as described above. The one or more characteristics caninclude the various timing information that can be used to determine alocation of the wearable device.

In various embodiments, the plurality of secondary dwell periods can bemapped to a particular stroke pattern. In this way, collection of GNSSsignals can be timed to correspond to periods when GNSS signals would beoptimized because during that portion of the stroke the wearable devicemay be near the surface of the water or out of the water. One or moreother signals from a variety of sensors (e.g., an accelerometer, a gyrometer, a magnetometer) in the wearable device can be used to correlateto the stroke location to time the collection of GNSS information.

Process 1000 can include additional implementations, such as any singleimplementation or any combination of implementations described belowand/or in connection with one or more other processes describedelsewhere herein. It should be appreciated that the specific stepsillustrated in FIG. 10 provide particular techniques for compensatingfor attenuation of GNSS signals according to various embodiments of thepresent disclosure. Other sequences of steps can also be performedaccording to alternative embodiments. For example, alternativeembodiments of the present disclosure can perform the steps outlinedabove in a different order. Moreover, the individual steps illustratedin FIG. 10 can include multiple sub-steps that can be performed invarious sequences as appropriate to the individual step. Furthermore,additional steps can be added or removed depending on the particularapplications. One of ordinary skill in the art would recognize manyvariations, modifications, and alternatives.

Although FIG. 10 shows example steps of process 1000, in someimplementations, process 1000 can include additional steps, fewer steps,different steps, or differently arranged steps than those depicted inFIG. 10. Additionally, or alternatively, two or more of the steps ofprocess 1000 can be performed in parallel.

In one aspect, a wearable device can include a communication interface,a memory, and one or more processing units communicatively coupled withthe communication interface and the memory and configured to cause thewearable device to perform the methods described above.

In another aspect, a non-transitory computer-readable medium can includea plurality of instructions stored thereon, where the plurality ofinstructions, when executed on a processor, cause the processor toperform the methods described above.

FIG. 11 illustrates an exemplary flow chart of a process 1100 forcompensating for attenuation of GNSS signals during water immersionactivities. In some implementations, one or more process blocks of FIG.11 can be performed by a wearable device described herein, such aswearable device 204, 400, 500, or 600. In some implementations, one ormore process blocks of FIG. 11 can be performed by another device or agroup of devices separate from or including the wearable device.

At 1110, process 1100 can include receiving a plurality of GNSS timingsignals using an antenna, where the antenna is located in an exteriorportion of a wearable device such that the antenna detects the pluralityof GNSS signals without the plurality of GNSS signals first passingthrough an air gap within a case or housing of the wearable device. Forexample, the wearable device (e.g., using processing unit(s) 1510,memory 1560, GNSS receiver 1580, GNSS antenna 1582, and/or the like asillustrated in FIG. 15 and described below) can receive a plurality ofGNSS signals 206 using an antenna, as described above. In someimplementations, the antenna is located in an exterior portion of awearable device such that the antenna detects the plurality of GNSSsignals without the plurality of GNSS signals first passing through anair gap within a housing of the wearable device. The process ofcomputing latitude, longitude, altitude, and time is described abovewith respect to, for example, FIG. 8.

At 1120, process 1100 can include calculating one or more geographiclocations of the wearable device over a period of time based at least inpart on the received GNSS signals. For example, the wearable device(e.g., using processing unit(s) 1510, memory 1560, GNSS receiver 1580,GNSS antenna 1582, and/or the like as illustrated in FIG. 15 anddescribed below) can calculate one or more geographic locations of thewearable device over a period of time based at least in part on thereceived GNSS signals, as described above.

At 1130, process 1100 can include measuring one or more depths of thewearable device over the period of time using a pressure sensor on thewearable device. The method of calculating depth is described above withregard to, for example, FIG. 9. For example, the wearable device (e.g.,using processing unit(s) 1510, memory 1560, GNSS receiver 1580, GNSSantenna 1582, pressure sensor 1542, and/or the like as illustrated inFIG. 15 and described below) can measure one or more depths of thewearable device over the period of time using a pressure sensor on thewearable device, as described above.

At 1140, process 1100 can include storing the one or more geographiclocations, the associated times, and the one or more depths over theperiod of time in a memory of the wearable device. The memory can be asolid-state memory (e.g., a flash memory). For example, the wearabledevice (e.g., using processing unit(s) 1510, memory 1560, GNSS receiver1580, GNSS antenna 1582, and/or the like as illustrated in FIG. 15 anddescribed below) can store the one or more geographic locations, the oneor more depths over the period of time in a memory of the wearabledevice, as described above.

The one or more geographic locations, the associated times, and the oneor more depths over the period of time can be used to plot and display auser's pattern above and below the water. In various embodiments, thelocation data can be synchronized with a video feed captured on animage/video capture device attached to a user's mask. In this way theuser location can be displayed on a map along with visual informationcaptured from the image/capture video device.

In one example, the swim lanes may be displayed to the user throughAR/VR goggles. Locations of other users or other objects in the water,such as the lanes and distance information of the objects, may also bedetermined and provided to the AR/VR goggles, such that the AR/VRgoggles may display the swim lanes and the locations of otherusers/objects in the swim lanes to the user for collision avoidance andthe like. In some implementations, the AR/VR goggles may also provideother information to the user, such as instructions for collisionavoidance or information (e.g., speed, direction, and location) of otherusers, for example, during a competition.

In various embodiments, process 1100 can include sending the one or moregeographic locations, the associated times, and the one or more depthsstored over the period of time to a second electronic device via a wiredor wireless protocol. In some embodiments, the wireless protocol can beBluetooth. In some embodiments, the wireless protocol can be Wi-Fi. Thesecond electronic device can be a mobile device, a tablet, or a laptopcomputer. In some embodiments, the second electronic device can be asecond wearable device. The second wearable device can be smart gogglesor smart masks. The second wearable device can be a smart watch worn bya second user. The second electronic device can be a server. The one ormore geographic locations, the associated times, and the one or moredepths stored over the period of time can be stored in a cloud storagedevice.

Process 1100 can include additional implementations, such as any singleimplementation or any combination of implementations described belowand/or in connection with one or more other processes describedelsewhere herein. It should be appreciated that the specific stepsillustrated in FIG. 11 provide particular techniques for compensatingfor attenuation of GNSS signals according to various embodiments of thepresent disclosure. Other sequences of steps can also be performedaccording to alternative embodiments. For example, alternativeembodiments of the present disclosure can perform the steps outlinedabove in a different order. Moreover, the individual steps illustratedin FIG. 11 can include multiple sub-steps that can be performed invarious sequences as appropriate to the individual step. Furthermore,additional steps can be added or removed depending on the particularapplications. One of ordinary skill in the art would recognize manyvariations, modifications, and alternatives.

Although FIG. 11 shows example steps of process 1100, in someimplementations, process 1100 can include additional steps, fewer steps,different steps, or differently arranged steps than those depicted inFIG. 11. Additionally, or alternatively, two or more of the steps ofprocess 1100 can be performed in parallel.

In one aspect, a wearable device can include a communication interface,a memory, and one or more processing units communicatively coupled withthe communication interface and the memory and configured to cause thewearable device to perform the methods described above.

In another aspect, a non-transitory computer-readable medium can includea plurality of instructions stored thereon, where the plurality ofinstructions when executed on a processor cause the processor to performthe methods described above.

FIG. 12 illustrates an exemplary flow chart of a process 1200 forcalculating an efficiency of a swim stroke while compensating forattenuation of GNSS signals during water immersion activities. In someimplementations, one or more process blocks of FIG. 12 can be performedby a wearable device described herein, such as wearable device 204, 400,500, or 600. In some implementations, one or more process blocks of FIG.12 can be performed by another device or a group of devices separatefrom or including the wearable device.

At 1210, process 1200 can include receiving a plurality of GNSS signalsusing an antenna, where the antenna is located in an exterior portion ofthe wearable device such that the antenna detects the plurality of GNSSsignals without the plurality of GNSS signals first passing through anair gap within a housing of the wearable device. For example, thewearable device (e.g., using processing unit(s) 1510, memory 1560, GNSSreceiver 1580, GNSS antenna 1582, and/or the like as illustrated in FIG.15 and described below) can receive a plurality of GNSS signals using anantenna (e.g., GNSS antenna 1582), as described above. In someimplementations, the antenna is located in an exterior portion of awearable device such that the antenna detects the plurality of GNSSsignals without the plurality of GNSS signals first passing through anair gap within a housing of the wearable device.

At 1220, process 1200 can include calculating a plurality of geographiclocations of the wearable device during a time period based at least inpart on the received GNSS signals. For example, the wearable device(e.g., using processing unit(s) 1510, memory 1560, GNSS receiver 1580,GNSS antenna 1582, and/or the like as illustrated in FIG. 15 anddescribed below) can calculate a plurality of geographic locations ofthe wearable device during a time period based at least in part on thereceived GNSS signals, as described above. The process of computinglatitude, longitude, altitude, and time is described above with respectto FIG. 8.

At 1230, process 1200 can include storing the plurality of geographiclocations and associated times of the wearable device in a memory. Thememory can be a solid-state memory (e.g., a flash memory). For example,the wearable device (e.g., using processing unit(s) 1510, memory 1560,GNSS receiver 1580, GNSS antenna 1582, and/or the like as illustrated inFIG. 15 and described below) can store the plurality of geographiclocations and associated times of the wearable device in a memory, asdescribed above.

At 1240, process 1200 can include determining motion of the wearabledevice during the time period based on the plurality of geographiclocations and the associated times. The velocity for the wearable devicecan be calculated by comparing the stored plurality of geographiclocations and associated times. In various embodiments, the calculatedvelocity can be stored in the memory. For example, the wearable device(e.g., using processing unit(s) 1510, memory 1560, GNSS receiver 1580,GNSS antenna 1582, and/or the like as illustrated in FIG. 15 anddescribed below) can determine motion of the wearable device during thetime period based on the plurality of geographic locations and theassociated times, as described above.

At 1250, process 1200 can include receiving wireless signals containinga plurality of acceleration signals from one or more motion sensors,such as microelectromechanical (MEMS) motion sensors (e.g.,accelerometers), worn on one or more limbs of a user. MEMS can be madeup of components between 1 and 110 micrometers in size (i.e., 0.001 to0.1 mm), and MEMS devices generally range in size from 20 micrometers toa millimeter (i.e., 0.02 to 1.0 mm). They usually consist of a centralunit that processes data (an integrated circuit chip such asmicroprocessor) and several components that interact with thesurroundings (e.g., micro sensors). Because of the large surface area tovolume ratio of MEMS, forces produced by ambient electromagnetism (e.g.,electrostatic charges and magnetic moments), and fluid dynamics (e.g.,surface tension and viscosity) are more important design considerationsthan with larger scale mechanical devices. For example, the wearabledevice (e.g., using processing unit(s) 1510, memory 1560, GNSS receiver1580, GNSS antenna 1582, MEMS sensors 1544 and/or the like asillustrated in FIG. 15 and described below) can receive wireless signalscontaining a plurality of acceleration signals from one or more MEMSsensors worn on one or more limbs of a user, as described above.

At 1260, process 1200 can include determining a movement of the one ormore limbs of a user during the time period based in part on theacceleration signals. For example, the wearable device (e.g., usingprocessing unit(s) 1510, memory 1560, GNSS receiver 1580, GNSS antenna1582, MEMS sensors 1544 and/or the like as illustrated in FIG. 15 anddescribed below) can determine a movement of the one or more limbs of auser during the time period based in part on the acceleration signals,as described above.

At 1270, process 1200 can include calculating an efficiency of a strokebased at least in part on the movement of the one or more limbs of theuser and the motion of the wearable device during the time period. Forexample, the wearable device (e.g., using processing unit(s) 1510,memory 1560, DSP 1520, and/or the like as illustrated in FIG. 15 anddescribed below) can calculate an efficiency of a stroke based at leastin part on the movement of the one or more limbs of the user and themotion of the wearable device during the time period, as describedabove.

In various embodiments, the MEMS data can be used as a virtual coach.For example, if the user stops kicking, as detected by one or moresensors on a user's legs or feet, feedback can be provided to the user.Such feedback can include a haptic or aural feedback from the wearabledevice.

At 1280, process 1200 can include storing the efficiency of the strokein the memory. The memory can be a solid-state memory device (e.g., aflash memory). For example, the wearable device (e.g., using processingunit(s) 1510, memory 1560, and/or the like as illustrated in FIG. 15 anddescribed below) can store the efficiency of the stroke in the memory,as described above.

Process 1200 can include additional implementations, such as any singleimplementation or any combination of implementations described belowand/or in connection with one or more other processes describedelsewhere herein. It should be appreciated that the specific stepsillustrated in FIG. 12 provide particular techniques for calculating anefficiency of a swim stroke while compensating for attenuation of GNSSsignals during water immersion activities according to variousembodiments of the present disclosure. Other sequences of steps can alsobe performed according to alternative embodiments. For example,alternative embodiments of the present disclosure can perform the stepsoutlined above in a different order. Moreover, the individual stepsillustrated in FIG. 12 can include multiple sub-steps that can beperformed in various sequences as appropriate to the individual step.Furthermore, additional steps can be added or removed depending on theparticular applications. One of ordinary skill in the art wouldrecognize many variations, modifications, and alternatives.

Although FIG. 12 shows example steps of process 1200, in someimplementations, process 1200 can include additional steps, fewer steps,different steps, or differently arranged steps than those depicted inFIG. 12. Additionally, or alternatively, two or more of the steps ofprocess 1200 can be performed in parallel.

In one aspect, a wearable device can include a communication interface,a memory, and one or more processing units communicatively coupled withthe communication interface and the memory and configured to cause thewearable device to perform the methods described above.

In another aspect, a non-transitory computer-readable medium can includea plurality of instructions stored thereon, the plurality ofinstructions, when executed on a processor, causing the processor toperform the methods described above.

FIG. 13 illustrates an exemplary flow chart of a process 1300 forcompensating for attenuation of GNSS signals and sharing the informationduring water immersion activities. In some implementations, one or moreprocess blocks of FIG. 13 can be performed by a wearable devicedescribed herein, such as wearable device 204, 400, 500, or 600. In someimplementations, one or more process blocks of FIG. 13 can be performedby another device or a group of devices separate from or including thewearable device.

At 1310, process 1300 can include receiving a plurality of GNSS signalsusing an antenna, wherein the antenna is located in an exterior portionof a wearable device such that the antenna detects the plurality of GNSSsignals without the plurality of GNSS signals first passing through anair gap within a housing of the wearable device. For example, thewearable device (e.g., using processing unit(s) 1510, memory 1560, GNSSreceiver 1580, GNSS antenna 1582, and/or the like as illustrated in FIG.15 and described below) can receive a plurality of GNSS signals using anantenna (e.g., GNSS antenna 1582), as described above. In someimplementations, the antenna is located in an exterior portion of awearable device such that the antenna detects the plurality of GNSSsignals without the plurality of GNSS signals first passing through anair gap within a housing of the wearable device.

At 1320, process 1300 can include calculating a plurality of geographiclocations of the wearable device during a time period based at least inpart on the plurality of GNSS signals. For example, the wearable device(e.g., using processing unit(s) 1510, memory 1560, GNSS receiver 1580,GNSS antenna 1582, and/or the like as illustrated in FIG. 15 anddescribed below) can calculate a plurality of geographic locations ofthe wearable device during a time period based at least in part on theplurality of GNSS signals, as described above. The process of computinglatitude, longitude, altitude, and time is described above with respectto FIG. 8.

At 1330, process 1300 can include storing the plurality of geographiclocations of the wearable device and associated times in a memory of thewearable device. The memory can be a solid-state memory (e.g., a flashmemory). For example, the wearable device (e.g., using processingunit(s) 1510, memory 1560, GNSS receiver 1580, GNSS antenna 1582, and/orthe like as illustrated in FIG. 15 and described below) can store theplurality of geographic locations of the wearable device and associatedtimes in a memory of the wearable device, as described above.

At 1340, process 1300 can include generating one or more data messagescomprising the plurality of geographic locations of the wearable deviceand the associated times. For example, the wearable device (e.g., usingprocessing unit(s) 1510, memory 1560, the wireless communication system1530, and/or the like as illustrated in FIG. 15 and described below) cangenerate one or more data messages comprising the plurality ofgeographic locations of the wearable device and the associated times, asdescribed above.

At 1350, process 1300 can include sending the one or more data messagesto a second device via a sidelink data channel. For example, thewearable device (e.g., using processing unit(s) 1510, memory 1560, GNSSreceiver 1580, GNSS antenna 1582, and/or the like as illustrated in FIG.15 and described below) can send the one or more data messages to asecond device via a sidelink data channel, as described above.

Process 1300 can include additional implementations, such as any singleimplementation or any combination of implementations described belowand/or in connection with one or more other processes describedelsewhere herein. It should be appreciated that the specific stepsillustrated in FIG. 13 provide particular techniques for compensatingfor attenuation of GNSS signals and sharing the information during waterimmersion activities according to various embodiments of the presentdisclosure. Other sequences of steps can also be performed according toalternative embodiments. For example, alternative embodiments of thepresent disclosure can perform the steps outlined above in a differentorder. Moreover, the individual steps illustrated in FIG. 13 can includemultiple sub-steps that can be performed in various sequences asappropriate to the individual step. Furthermore, additional steps can beadded or removed depending on the particular applications. One ofordinary skill in the art would recognize many variations,modifications, and alternatives.

In some implementations, process 1300 includes receiving via thesidelink data channel one or more second data messages from one or moresecond wearable devices, wherein the one or more second data ismessaging comprise the geographic locations of the one or more secondwearable devices.

In various embodiments, data from one or more users can be crowdsourcedand analyzed. The movement of multiple users in an area can be used todetermine current information because the velocity of the user is acombination of user's motion and drift associated with a current.

Although FIG. 13 shows example steps of process 1300, in someimplementations, process 1300 can include additional steps, fewer steps,different steps, or differently arranged steps than those depicted inFIG. 13. Additionally, or alternatively, two or more of the steps ofprocess 1300 can be performed in parallel.

In one aspect, a wearable device can include a communication interface,a memory, and one or more processing units communicatively coupled withthe communication interface and the memory and configured to cause thewearable device to perform the methods described above.

In another aspect, a non-transitory computer-readable medium can includea plurality of instructions stored thereon, the plurality ofinstructions, when executed on a processor, causing the processor toperform operations comprising the methods described above.

FIG. 14 illustrates an exemplary flow chart of a process 1400 forcompensating for attenuation of GNSS signals and calibrating sensors ofa wearable device during water immersion activities. In someimplementations, one or more process blocks of FIG. 14 can be performedby a wearable device described herein, such as wearable device 204, 400,500, or 600. In some implementations, one or more process blocks of FIG.14 can be performed by another device or a group of devices separatefrom or including the wearable device.

At 1410, process 1400 can include receiving a plurality of GNSS signalsusing an antenna, wherein the antenna is located in an exterior portionof a wearable device such that the antenna detects the plurality of GNSSsignals without the plurality of GNSS signals first passing through anair gap within a housing of the wearable device. For example, thewearable device (e.g., using processing unit(s) 1510, memory 1560, GNSSreceiver 1580, GNSS antenna 1582, and/or the like as illustrated in FIG.15 and described below) can receive a plurality of GNSS signals using anantenna (e.g., GNSS antenna 1582), as described above. In someimplementations, the antenna is located in an exterior portion of awearable device such that the antenna detects the plurality of GNSSsignals without the plurality of GNSS signals first passing through anair gap within a housing of the wearable device.

At 1420, process 1400 can include calculating a plurality of geographiclocations of the wearable device over a time period based at least inpart on the received GNSS signals. For example, the wearable device(e.g., using processing unit(s) 1510, memory 1560, GNSS receiver 1580,GNSS antenna 1582, and/or the like as illustrated in FIG. 15 anddescribed below) can calculate a plurality of geographic locations ofthe wearable device over a time period based at least in part on thereceived GNSS signals, as described above.

At 1430, process 1400 can include storing the plurality geographiclocations of the wearable device and associated times in a memory of thewearable device. For example, the wearable device (e.g., usingprocessing unit(s) 1510, memory 1560, GNSS receiver 1580, GNSS antenna1582, and/or the like as illustrated in FIG. 15 and described below) canstore the plurality of geographic locations of the wearable device andassociated times in a memory of the wearable device, as described above.

At 1440, process 1400 can include measuring an elapsed time for swimminga known distance. For example, the wearable device (e.g., usingprocessing unit(s) 1510, memory 1560, GNSS receiver 1580, GNSS antenna1582, and/or the like as illustrated in FIG. 15 and described below) canmeasure an elapsed time for swimming a known distance, as describedabove. The known distance can be, for example, for a swimming pool ofknown length (e.g., a 50-meter or 110-meter pool). The distanceinformation can be provided to the wearable device through a userinterface on the wearable device or a companion device.

At 1450, process 1400 can include comparing the geographic locations andthe associated time stamps with the elapsed time and the known distanceto determine a calibration error. For example, the wearable device(e.g., using processing unit(s) 1510, memory 1560, GNSS receiver 1580,GNSS antenna 1582, and/or the like as illustrated in FIG. 15 anddescribed below) can compare the geographic locations and the associatedtime stamps with the elapsed time and the known distance to determine acalibration error, as described above.

At 1460, process 1400 can include storing the calibration error in thememory. For example, the wearable device (e.g., using processing unit(s)1510, memory 1560, GNSS receiver 1580, GNSS antenna 1582, and/or thelike as illustrated in FIG. 15 and described below) can store thecalibration error in the memory, as described above.

Process 1400 can include additional implementations, such as any singleimplementation or any combination of implementations described belowand/or in connection with one or more other processes describedelsewhere herein. It should be appreciated that the specific stepsillustrated in FIG. 14 provide particular techniques for compensatingfor attenuation of GNSS signals during water immersion activitiesaccording to various embodiments of the present disclosure. Othersequences of steps can also be performed according to alternativeembodiments. For example, alternative embodiments of the presentdisclosure can perform the steps outlined above in a different order.Moreover, the individual steps illustrated in FIG. 14 can includemultiple sub-steps that can be performed in various sequences asappropriate to the individual step. Furthermore, additional steps can beadded or removed depending on the particular applications. One ofordinary skill in the art would recognize many variations,modifications, and alternatives.

Although FIG. 14 shows example steps of process 1400, in someimplementations, process 1400 can include additional steps, fewer steps,different steps, or differently arranged steps than those depicted inFIG. 14. Additionally, or alternatively, two or more of the steps ofprocess 1400 can be performed in parallel.

In one aspect, a wearable device can include a communication interface,a memory, and one or more processing units communicatively coupled withthe communication interface and the memory and configured to cause thewearable device to perform the methods described above.

In another aspect, a non-transitory computer-readable medium can includea plurality of instructions stored thereon, the plurality ofinstructions, when executed on a processor, causing the processor toperform operations comprising the methods described above.

FIG. 15 is a block diagram of an embodiment of a computer system 1500,which may be used, in whole or in part, to provide the functions of oneor more network components as described in the embodiments herein. Itshould be noted that FIG. 15 is meant only to provide a generalizedillustration of various components, any or all of which may be utilizedas appropriate. FIG. 15, therefore, broadly illustrates how individualsystem elements may be implemented in a relatively separated orrelatively more integrated manner. In addition, it can be noted thatcomponents illustrated by FIG. 15 can be localized to a single deviceand/or distributed among various networked devices, which may bedisposed at different geographical locations.

The computer system 1500 is shown comprising hardware elements that canbe electrically coupled via a bus 1505 (or may otherwise be incommunication, as appropriate). The hardware elements may includeprocessing unit(s) 1510, which may comprise without limitation one ormore general-purpose processors, one or more special-purpose processors(such as digital signal processing chips, graphics accelerationprocessors, and/or the like), and/or other processing structure, whichcan be configured to perform one or more of the methods describedherein. The computer system 1500 also may comprise one or more inputdevices 1570, which may comprise without limitation a mouse, a keyboard,a camera, a touchscreen, one or more buttons, one or more dials, amicrophone, and/or the like; and one or more output devices 1515, whichmay comprise without limitation a display device, a printer, and/or thelike.

The computer system 1500 may further include (and/or be in communicationwith) one or more non-transitory storage devices, which can comprise,without limitation, local and/or network accessible storage, and/or maycomprise, without limitation, a disk drive, a drive array, an opticalstorage device, a solid-state storage device, such as a RAM and/or ROM,which can be programmable, flash-updateable, and/or the like. Suchstorage devices may be configured to implement any appropriate datastores, including without limitation, various file systems, databasestructures, and/or the like. Such data stores may include database(s)and/or other data structures used store and administer messages and/orother information to be sent to one or more devices via hubs, asdescribed herein.

The computer system 1500 may also include a wireless communicationsystem 1530, which may comprise wireless communication technologiesmanaged and controlled by a wireless communication interface, as well aswired technologies (such as Ethernet, coaxial communications, universalserial bus (USB), and the like). The wireless communication interfacemay send and receive wireless signals 1534 (e.g., signals according toWi-Fi, Bluetooth, 5G NR or LTE) via wireless antenna(s) 1532. Thus thewireless communication system 1530 may comprise a modem, a network card(wireless or wired), an infrared communication device, a wirelesscommunication device, and/or a chipset, and/or the like, which mayenable the computer system 1500 to communicate on any or all of thecommunication networks described herein to any device on the respectivenetwork, including a User Equipment (UE), base stations and/or othertransmission and reception points (TRPs), and/or any other electronicdevices described herein. Hence, the wireless communication system 1530may be used to receive and send data as described in the embodimentsherein.

In many embodiments, the computer system 1500 will further comprise amemory 1560, which may comprise a RAM or ROM device, as described above.Software elements, shown as being located within the memory 1560, maycomprise an operating system, device drivers, executable libraries,and/or other code, such as one or more applications, which may comprisecomputer programs provided by various embodiments, and/or may bedesigned to implement methods, and/or configure systems, provided byother embodiments, as described herein. Merely by way of example, one ormore procedures described with respect to the method(s) discussed abovemight be implemented as code and/or instructions executable by acomputer (and/or a processing unit within a computer); in an aspect,then, such code and/or instructions can be used to configure and/oradapt a general purpose computer (or other device) to perform one ormore operations in accordance with the described methods.

A set of these instructions and/or code might be stored on anon-transitory computer-readable storage medium, such as the storagedevice(s) described above. In some cases, the storage medium might beincorporated within a computer system, such as computer system 1500. Inother embodiments, the storage medium might be separate from a computersystem (e.g., a removable medium, such as an optical disc), and/orprovided in an installation package, such that the storage medium can beused to program, configure, and/or adapt a general purpose computer withthe instructions/code stored thereon. These instructions might take theform of executable code, which is executable by the computer system 1500and/or might take the form of source and/or installable code, which,upon compilation and/or installation on the computer system 1500 (e.g.,using any of a variety of generally available compilers, installationprograms, compression/decompression utilities, etc.), then takes theform of executable code.

The wearable device 204 may include one or more sensors 1540. Thesensors can include a pressure sensor 1542, a MEMS sensor 1544 and/or amagnetometer 1546. MEMS sensors 1544 can include smart sensors thatinclude accelerometers, gyroscope, and fusion software.Microelectromechanical Systems (MEMS) Devices

MEMS devices utilize modern semiconductor fabrication processes to builddevices that measure real-world forces. These devices contain structureson the scale of micrometers that are created so they can move within thedevice. Taking advantage of Newton's three laws of motion, these movingstructures can be used to detect the direction and magnitude of thedevice's acceleration. Additionally, using specific materials to producethese structures can make them very sensitive to magnetic fields, whichallow the device to provide measurements that indicate its orientation.

One example, of a MEMS sensor for a wearable device is a Bosch BHI260AB.The BHI260AB is a smart sensor for advanced always-on sensorapplications with significantly lower system power consumption ofbattery-powered devices. The sensor includes the new custom programmableand powerful 32-bit microcontroller, a state-of-the-art 6-axis inertialmeasurement unit (IMU) and a powerful software framework. The BHI260ABoffers an open and flexible environment for developing sensor-basedapplications through a software development kit. In combination with itswide connectivity and extendibility, the BHI260AB is the versatile andideal solution when it comes to 3D orientation, step counting, positiontracking, and activity recognition or context awareness in wearables,smartphones and other mobile devices. The wearable device 204 caninclude a GNSS receiver 1580 that can process one or more received GNSSsignals 1584 that can be captured by a GNSS antenna 1582.

Accelerometers are another sensor 1540 that can be used in a wearabledevice 204. The most common MEMS sensor, accelerometers are capable ofsensing gravity as well as linear accelerations. MEMS devices and can beused for a variety of wearables that measure motion, ranging fromwalking (a modern-day pedometer) to monitoring sleep patterns todetecting seizures. Accelerometers used in wearable devices aregenerally specified by the maximum acceleration the device can measure.Common values for this maximum acceleration range from 2G to 16G.

Gyros are another sensor 1540 that can be incorporated into a wearabledevice 204. In a similar way that an accelerometer can measure linearaccelerations, a gyro can measure rotational accelerations. Therotational measurements alone are generally not as useful as themeasurements obtained from an accelerometer, but when used inconjunction with an accelerometer, each device can correct minor errorsin the other. With these corrections, a more precise description of theuser or patient's movements can be determined. Accelerometers used inwearable devices are typically specified by the maximum rotationalacceleration the device can measure. Common values for this maximumacceleration range from 250 deg/s to 2000 deg/s.

A magnetometer 1546 is another type of sensor 1540 that can beincorporated into a wearable device 204. A magnetometer 1546 measuresmagnetic fields, primarily the magnetic field of the earth. In otherwords, a magnetometer 1546 is the 21st-century version of the compass.While accelerometers and gyros sense movement in 3D, these measurementsare generally in relation to an unknown starting point. A magnetometer1546 can be used to fix these relative movements to the coordinatesystem of the earth. Magnetometers 1546 can be used to detect adirection of travel while swimming.

These MEMS sensors can be as small as 2 mm×2 mm×1 mm individually or allthree can be integrated into a single package as small as 3 mm×3 mm×1mm. In addition, the power consumption of these devices varies dependingon the data acquisition speed but can be as low as only a fewmicro-amps. These specifications make the sensors very suitable forincluding in small wearable devices in which weight and powerconsumption are a high priority.

GNSS receivers 1580 and GNSS antenna 1582 can be incorporated intowearable devices 204 and used for navigation. GNSS receivers 1580 inwearable devices 204 can track the distance a user moves (e.g., runs,walks, climbs, swims, rides). GNSS receivers 1580 in devices worn byusers can provide their location in an emergency. The only concern thatneeds to be addressed while using a GNSS receiver 1580 in a wearabledevice is the power consumed because battery power conservation iscritical in devices that monitor safety.

Specific details are given in the description to provide a thoroughunderstanding of example configurations (including implementations).However, configurations may be practiced without these specific details.For example, well-known circuits, processes, algorithms, structures, andtechniques have been shown without unnecessary detail in order to avoidobscuring the configurations. This description provides exampleconfigurations only, and does not limit the scope, applicability, orconfigurations of the claims. Rather, the preceding description of theconfigurations will provide those skilled in the art with an enablingdescription for implementing described techniques. Various changes maybe made in the function and arrangement of elements without departingfrom the spirit or scope of the disclosure.

Also, configurations may be described as a process which is depicted asa flow diagram or block diagram. Although each may describe theoperations as a sequential process, many of the operations can beperformed in parallel or concurrently. In addition, the order of theoperations may be rearranged. A process may have additional steps notincluded in the figure. Furthermore, examples of the methods may beimplemented by hardware, software, firmware, middleware, microcode,hardware description languages, or any combination thereof. Whenimplemented in software, firmware, middleware, or microcode, the programcode or code segments to perform the necessary tasks may be stored in anon-transitory computer-readable medium such as a storage medium.Processors may perform the described tasks.

It has proven convenient at times, principally for reasons of commonusage, to refer to such signals as bits, information, values, elements,symbols, characters, variables, terms, numbers, numerals, or the like.It should be understood, however, that all of these or similar terms areto be associated with appropriate physical quantities and are merelyconvenient labels. Unless specifically stated otherwise, as is apparentfrom the discussion above, it is appreciated that throughout thisSpecification discussions utilizing terms such as “processing,”“computing,” “calculating,” “determining,” “ascertaining,”“identifying,” “associating,” “measuring,” “performing,” or the likerefer to actions or processes of a specific apparatus, such as a specialpurpose computer or a similar special-purpose electronic computingdevice. In the context of this Specification, therefore, a specialpurpose computer or a similar special purpose electronic computingdevice is capable of manipulating or transforming signals, typicallyrepresented as physical electronic, electrical, or magnetic quantitieswithin memories, registers, or other information storage devices,transmission devices, or display devices of the special-purpose computeror similar special-purpose electronic computing device.

Terms, “and” and “or” as used herein, may include a variety of meaningsthat also is expected to depend at least in part upon the context inwhich such terms are used. Typically, “or” if used to associate a list,such as A, B, or C, is intended to mean A, B, and C, here used in theinclusive sense, as well as A, B, or C, here used in the exclusivesense. In addition, the term “one or more” as used herein may be used todescribe any feature, structure, or characteristic in the singular ormay be used to describe some combination of features, structures, orcharacteristics. However, it should be noted that this is merely anillustrative example and claimed subject matter is not limited to thisexample. Furthermore, the term “at least one of” if used to associate alist, such as A, B, or C, can be interpreted to mean A, B, C, or any(reasonable) combination of A, B, and/or C, such as AC, AB, BC, AA, AAB,ABC, AABBCCC, or the like.

Having described several example configurations, various modifications,alternative constructions, and equivalents may be used without departingfrom the spirit of the disclosure. For example, the above elements maybe components of a larger system, wherein other rules may takeprecedence over or otherwise modify the application of the invention.Also, a number of steps may be undertaken before, during, or after theabove elements are considered.

In view of this description embodiments may include differentcombinations of features. Implementation examples are described in thefollowing numbered clauses:

-   Clause 1. A method for calculating positioning information during    water immersion activities, the method comprising: receiving a    plurality of Global Navigation Satellite System (GNSS) signals using    an antenna of a wearable device, wherein the antenna is located in    an exterior portion of the wearable device such that the antenna    faces away from a body of a user that wears the wearable device to    receive the plurality of GNSS signals; and determining a geographic    location of the wearable device based at least in part on the    plurality of GNSS signals.-   Clause 2. The method of clause 1, wherein the exterior portion of    the wearable device comprises a crown of the wearable device.-   Clause 3. The method of clause 1, wherein the exterior portion of    the wearable device comprises a portion of a band of the wearable    device adjacent a face of the wearable device.-   Clause 4. The method of clause 1, wherein the exterior portion    comprises a face of the wearable device and the antenna comprises a    mesh antenna.-   Clause 5. The method of any of clauses 1-4, further comprising:    accessing information of a plurality of geographic points, the    plurality of geographic points defining a swim lane; determining    whether the geographic location of the wearable device is outside    the defined swim lane; and providing feedback to the user indicating    that the geographic location of the wearable device is outside the    swim lane.-   Clause 6. The method of clause 5, wherein the feedback comprises    haptic feedback or audio feedback.-   Clause 7. The method of any of clauses 1-6, wherein the antenna is    configured to receive the plurality of GNSS signals without the    plurality of GNSS signals first passing through an air gap within a    housing of the wearable device.-   Clause 8. The method of any of clauses 1-7, further comprising    providing, to the user via an augmented reality device, lane    information, location information, or both of other objects in    water.-   Clause 9. The method of any of clauses 1-8, further comprising:    obtaining a plurality of geographic locations and associated times;    and determining one or more characteristics of the water immersion    activities based at least in part on the plurality of geographic    locations and the associated times.-   Clause 10. The method of any of clauses 1-9, further comprising    sending, via a wireless link, the geographic location of the    wearable device to an electronic device.-   Clause 11. The method of any of clauses 1-10, further comprising:    identifying a second wearable device that is at least periodically    out of water, having a better reception of GNSS signals than the    wearable device, or both; receiving a second plurality of GNSS    signals using an antenna of the second wearable device; and    determining the geographic location of the wearable device based at    least in part on the second plurality of GNSS signals.-   Clause 12. A wearable device comprising a communication interface, a    memory, and one or more processing units communicatively coupled    with the communication interface and the memory and configured to    cause the wearable device to perform the method of any of clauses    1-11.-   Clause 13. A non-transitory computer-readable medium storing a    plurality of instructions, the plurality of instructions, when    executed on a processor, causing the processor to perform the method    of any of clauses 1-11.-   Clause 14. A wearable device comprising: a body including a    hermetically sealed case and an exterior portion; a processing    circuit housed in the hermetically sealed case; and an antenna    electrically coupled to the processing circuit, the antenna located    at the exterior portion of the body such that, during operations of    the wearable device, the antenna faces outwardly to receive a    plurality of Global Navigation Satellite System (GNSS) signals at    the exterior portion of the body and feeds the plurality of GNSS    signals to the processing circuit.-   Clause 15. The wearable device of clause 14, wherein the exterior    portion of the body comprises: a crown of the wearable device; a    circumferential portion of the hermetically sealed case; a portion    of a band of the wearable device; or a combination thereof.-   Clause 16. The wearable device of clause 14, wherein: the exterior    portion of the body comprises a cover that is at least partially    transparent to visible light; and the antenna comprises an antenna    attached to a surface of the cover or embedded in the cover.-   Clause 17. The wearable device of clause 16, wherein: the antenna    attached to the surface of the cover or embedded in the cover    comprises a mesh, a loop, an inverted F antenna, a directional    antenna, an omnidirectional antenna, or a combination thereof; and    the surface includes an interior surface or an exterior surface.-   Clause 18. The wearable device of any of clauses 14-17, wherein: the    antenna is further configured to receive a Wide Area Network (WAN)    signal, a Wi-Fi signal, or both; and the wearable device further    comprises a filter configured to isolate the plurality of GNSS    signals from the WAN signal, the Wi-Fi signal, or both.-   Clause 19. The wearable device of any of clauses 14-17, wherein: the    antenna is further configured to receive a WAN signal, a Wi-Fi    signal, or both; and the wearable device further comprises: an    inertial measurement unit configured to measure an orientation of    the wearable device; and a switch configured to select, based on the    orientation of the wearable device, the plurality of GNSS signals,    the WAN signal, the Wi-Fi signal, or a combination of the WAN signal    and the Wi-Fi signal to feed to the processing circuit.-   Clause 20. The wearable device of any of clauses 14-19, wherein the    antenna is electrically coupled to the processing circuit by    capacitive coupling or via a conductive wire embedded in the body.-   Clause 21. The wearable device of any of clauses 14-20, wherein the    antenna is electrically coupled to the processing circuit through a    low noise amplifier.-   Clause 22. The wearable device of any of clauses 14-21, wherein the    antenna includes a circular antenna, a ring-shaped antenna, a patch    antenna, a microstrip antenna, a coil antenna, or an antenna array.-   Clause 23. The wearable device of any of clauses 14-22, wherein the    antenna includes a ground plane configured to be in physical contact    with a skin of a user that wears the wearable device.-   Clause 24. The wearable device of any of clauses 14-23, wherein the    processing circuit is configured to determine a geographic location    of the wearable device based at least in part on the plurality of    GNSS signals.-   Clause 25. The wearable device of clause 24, wherein the processing    circuit is further configured to: access information regarding a    plurality of geographic points that define a geographic zone;    determine, based on the plurality of geographic points, that the    geographic location is outside the geographic zone; and provide, in    response to determining that the wearable device is outside the    geographic zone, feedback to a user of the wearable device.-   Clause 26. The wearable device of clause 25, wherein the feedback    comprises haptic feedback, audio feedback, visible feedback, or a    combination thereof.-   Clause 27. The wearable device of any of clauses 24-26, wherein the    processing circuit is configured to send, via a wireless link, the    geographic location of the wearable device to an external electronic    device.-   Clause 28. The wearable device of any of clauses 24-27, wherein the    processing circuit is configured to: track the geographic location    of the wearable device; and determine, based on tracking the    geographic location of the wearable device, one or more    characteristics of a user of the wearable device, wherein the user    is at least partially in water.-   Clause 29. The wearable device of any of clauses 14-28, wherein the    body of the wearable device is configured to be removably attached    to swim goggles, a wetsuit, a head band, or a neck of a user.-   Clause 30. The wearable device of any of clauses 14-29, further    comprising a pressure sensor configured to measure a depth of the    wearable device in water.-   Clause 31. The wearable device of any of clauses 14-30, further    comprising a second antenna electrically coupled to the processing    circuit and configured to receive a second plurality of GNSS    signals, wherein the processing circuit is configured to, based on    locations, received GNSS signal levels, or both of both the second    antenna and the antenna located at the exterior portion of the body,    selectively utilize the plurality of GNSS signals received by the    antenna located at the exterior portion of the body, the second    plurality of GNSS signals received by the second antenna, or both    for positioning.-   Clause 32. The wearable device of any of clauses 14-31, wherein the    processing circuit is configured to: obtain a second plurality of    GNSS signals received by a second wearable device; and select the    plurality of GNSS signals, the second plurality of GNSS signals, or    both for use for a time window.-   Clause 33. A method for determining positioning information during    water immersion activities, the method comprising: receiving a    plurality of Global Navigation Satellite System (GNSS) signals via    an antenna on a wearable device; determining a plurality of    geographic locations of the wearable device over time based at least    in part on the plurality of GNSS signals; storing the plurality of    geographic locations and associated times in a memory of the    wearable device; measuring a depth of the wearable device based on    pressure data measured by a pressure sensor on the wearable device;    in response to the measured depth exceeding a threshold depth:    determining a historical speed of the wearable device based at least    on the plurality of geographic locations and the associated times    stored in the memory of the wearable device; determining a direction    of motion of the wearable device based at least in part on a    magnetic signature received by a magnetometer of the wearable    device; determining one or more underwater geographic locations of    the wearable device over time using the historical speed and the    direction of motion; and saving the one or more underwater    geographic locations of the wearable device to the memory.-   Clause 34. The method of clause 33, further comprising: receiving a    second plurality of GNSS signals by the antenna of the wearable    device; determining an updated position of the wearable device based    at least in part of the second plurality of GNSS signals; and    storing the updated position of the wearable device in the memory.-   Clause 35. The method of clause 33 or 34, further comprising:    generating a message comprising the historic speed, the one or more    underwater geographic locations and associated time stamps, the    direction of motion, or a combination thereof; and sending, via a    wireless protocol, the message to an electronic device.-   Clause 36. A wearable device comprising a communication interface, a    memory, and one or more processing units communicatively coupled    with the communication interface and the memory and configured to    cause the wearable device to perform the method of any of clauses    33-35.-   Clause 37. A non-transitory computer-readable medium storing a    plurality of instructions, the plurality of instructions, when    executed by a processor, causing the processor to perform the method    of any of clauses 33-35.-   Clause 38. A method for determining positioning information during    water immersion activities, the method comprising: receiving a    plurality of Global Navigation Satellite System (GNSS) signals using    an antenna on a wearable device; measuring a first received energy    of the plurality of GNSS signals during a first dwell period;    measuring a second received energy of the plurality of GNSS signals    during a plurality of secondary dwell periods, wherein a duration of    each of the plurality of secondary dwell periods is shorter than the    first dwell period; storing, based at least in part on the second    received energy exceeding a first threshold level, the second    received energy in a memory; and in response to the first received    energy below a second threshold level: harvesting accumulated energy    of the plurality of GNSS signals during the plurality of secondary    dwell periods in or near a center time and frequency bin to    determine a location for the wearable device; and determining, based    on the accumulated energy, one or more characteristics of the    plurality of GNSS signals during the plurality of secondary dwell    periods in the memory.-   Clause 39. The method of clause 38, further comprising: receiving a    plurality of sensor signals from one or more sensors in the wearable    device; determining, based in part on the sensor signals, a position    of the wearable device during a swimming stroke; and scheduling a    time period for measuring the plurality of GNSS signals based at    least in part on the position of the wearable device during the    swimming stroke.-   Clause 40. A wearable device comprising a communication interface, a    memory, and one or more processing units communicatively coupled    with the communication interface and the memory and configured to    cause the wearable device to perform the method of any of clauses    38-39.-   Clause 41. A non-transitory computer-readable medium storing a    plurality of instructions, the plurality of instructions, when    executed on a processor, causing the processor to perform the method    of any of clauses 38-39.-   Clause 42. A method for determining positioning information during    water immersion activities, the method comprising: receiving a    plurality of Global Navigation Satellite System (GNSS) signals using    an antenna, wherein the antenna is located in an exterior portion of    a wearable device such that the antenna receives the plurality of    GNSS signals without the plurality of GNSS signals first passing    through an air gap within a housing of the wearable device;    determining one or more geographic locations of the wearable device    over a period of time based at least in part on the plurality of    GNSS signals; measuring one or more depths of the wearable device    over the period of time using a pressure sensor on the wearable    device; and storing the one or more geographic locations and the one    or more depths of the wearable device over the period of time in a    memory.-   Clause 43. The method of clause 42, further comprising: sending the    one or more geographic locations, the one or more depths, or both of    the wearable device over the period of time to an electronic device    via a wireless protocol.-   Clause 44. A wearable device comprising a communication interface, a    memory, and one or more processing units communicatively coupled    with the communication interface and the memory and configured to    cause the wearable device to perform the method of any of clauses    42-43.-   Clause 45. A non-transitory computer-readable medium storing a    plurality of instructions, the plurality of instructions, when    executed on a processor, causing the processor to perform the method    of any of clauses 42-43.-   Clause 46. A method for determining positioning information during    water immersion activities, the method comprising: receiving a    plurality of Global Navigation Satellite System (GNSS) signals using    an antenna, wherein the antenna is located in an exterior portion of    a wearable device such that the antenna receives the plurality of    GNSS signals without the plurality of GNSS signals first passing    through an air gap within a housing of the wearable device;    determining a plurality of geographic locations of the wearable    device during a time period based at least in part on the plurality    of GNSS signals; storing the plurality of geographic locations and    associated times of the wearable device in a memory; determining    motion of the wearable device during the time period based on the    plurality of geographic locations and the associated times;    receiving wireless signals containing a plurality of acceleration    signals from one or more motion sensors worn on one or more limbs of    a user; determining a movement of the one or more limbs of the user    during the time period based in part on the plurality of    acceleration signals; and determining an efficiency of a stroke    based at least in part on the movement of the one or more limbs of    the user and the motion of the wearable device during the time    period.-   Clause 47. The method of clause 46, wherein the one or more motion    sensors include one or more microelectromechanical (MEMS) sensors    incorporated into a flipper.-   Clause 48. The method of clause 46 or 47, wherein the one or more    motion sensors include one or more microelectromechanical (MEMS)    sensors incorporated into the wearable device.-   Clause 49. The method of any of clauses 46-48, wherein the one or    more motion sensors include one or more microelectromechanical    (MEMS) sensors incorporated into a flexible band.-   Clause 50. A wearable device comprising a communication interface, a    memory, and one or more processing units communicatively coupled    with the communication interface and the memory and configured to    cause the wearable device to perform the method of any of clauses    46-49.-   Clause 51. A non-transitory computer-readable medium storing a    plurality of instructions, the plurality of instructions, when    executed on a processor, cause the processor to perform the method    of any of the clauses 46-49.-   Clause 52. A method for determining positioning information during    water immersion activities, the method comprising: receiving a    plurality of Global Navigation Satellite System (GNSS) signals using    an antenna, wherein the antenna is located in an exterior portion of    a wearable device such that the antenna receives the plurality of    GNSS signals without the plurality of GNSS signals first passing    through an air gap within a housing of the wearable device;    determining a plurality of geographic locations of the wearable    device during a time period based at least in part on the plurality    of GNSS signals; storing the plurality of geographic locations of    the wearable device and associated times in a memory of the wearable    device; generating one or more data messages comprising the    plurality of geographic locations of the wearable device and the    associated times; and sending the one or more data messages to one    or more second wearable devices via a sidelink data channel.-   Clause 53. The method of clause 52, further comprising: receiving,    via the sidelink data channel, one or more second data messages from    the one or more second wearable devices, wherein the one or more    second data messages comprise a plurality of geographic locations of    the one or more second wearable devices.-   Clause 54. The method of clause 52 or 53, further comprising    providing feedback via the wearable device based in part on the    plurality of geographic locations of the one or more second wearable    devices.-   Clause 55. A wearable device comprising a communication interface, a    memory, and one or more processing units communicatively coupled    with the communication interface and the memory and configured to    cause the wearable device to perform the method of any of clauses    52-54.-   Clause 56. A non-transitory computer-readable medium storing a    plurality of instructions, the plurality of instructions, when    executed on a processor, causing the processor to perform the method    of any of clauses 52-54.-   Clause 57. A method for calibrating a wearable device during water    immersion activities, the method comprising: receiving a plurality    of Global Navigation Satellite System (GNSS) signals using an    antenna, wherein the antenna is located in an exterior portion of    the wearable device such that the antenna receives the plurality of    GNSS signals without the plurality of GNSS signals first passing    through an air gap within a housing of the wearable device;    determining a plurality of geographic locations of the wearable    device over a time period based at least in part on the plurality of    GNSS signals; storing the plurality of geographic locations of the    wearable device and associated times in a memory of the wearable    device; measuring an elapsed time for swimming a known distance; and    determining a calibration error based on comparing the plurality of    geographic locations and the associated times with the elapsed time    and the known distance.-   Clause 58. A wearable device comprising a communication interface, a    memory, and one or more processing units communicatively coupled    with the communication interface and the memory and configured to    cause the wearable device to perform the method of clause 57.-   Clause 59. A non-transitory computer-readable medium storing a    plurality of instructions, the plurality of instructions, when    executed on a processor, causing the processor to perform the method    of clause 57.-   Clause 60. A wearable device comprising: means for receiving a    plurality of Global Navigation Satellite System (GNSS) signals,    wherein the means for receiving the plurality of GNSS signals is    located in an exterior portion of the wearable device such that the    means for receiving the plurality of GNSS signals faces away from a    body of a user that wears the wearable device to receive the    plurality of GNSS signals; and means for determining a geographic    location of the wearable device based at least in part on the    plurality of GNSS signals.-   Clause 61. A non-transitory computer-readable medium having    instructions stored thereon, the instructions, when executed by one    or more processing units, causing the one or more processing units    to perform functions comprising: receiving, via an antenna of a    wearable device, a plurality of Global Navigation Satellite System    (GNSS) signals, wherein the antenna is located in an exterior    portion of the wearable device such that the antenna faces away from    a body of a user that wears the wearable device to receive the    plurality of GNSS signals; and determining a geographic location of    the wearable device based at least in part on the plurality of GNSS    signals

1. A method for calculating positioning information during waterimmersion activities, the method comprising: receiving a plurality ofGlobal Navigation Satellite System (GNSS) signals using an antenna of afirst wearable device, wherein the antenna is located in an exteriorportion of the first wearable device such that the antenna faces awayfrom a body of a user that wears the first wearable device to receivethe plurality of GNSS signals; and determining a geographic location ofthe first wearable device based at least in part on the plurality ofGNSS signals, wherein the exterior portion in which the antenna islocated comprises: a crown of the first wearable device; a display ofthe first wearable device; a screen of the first wearable device; awindow of the first wearable device; a band of the first wearabledevice; or any combination thereof.
 2. (canceled)
 3. The method of claim1, further comprising: accessing information of a plurality ofgeographic points, the plurality of geographic points defining a swimlane; determining whether the geographic location of the first wearabledevice is outside the defined swim lane; and providing feedback to theuser indicating that the geographic location of the first wearabledevice is outside the swim lane.
 4. The method of claim 3, wherein thefeedback comprises haptic feedback or audio feedback.
 5. The method ofclaim 1, wherein the antenna is configured to receive the plurality ofGNSS signals without the plurality of GNSS signals first passing throughan air gap within a housing of the first wearable device.
 6. The methodof claim 1, further comprising providing, to the user via an augmentedreality device, lane information, location information, or both of otherobjects in water.
 7. The method of claim 1, further comprising:obtaining a plurality of geographic locations and associated times; anddetermining one or more characteristics of the water immersionactivities based at least in part on the plurality of geographiclocations and the associated times.
 8. The method of claim 1, furthercomprising sending, via a wireless link, the geographic location of thefirst wearable device to an electronic device.
 9. The method of claim 1,further comprising: identifying a second wearable device that is atleast periodically out of water, having a better reception of GNSSsignals than the first wearable device, or both; receiving a secondplurality of GNSS signals using an antenna of the second wearabledevice; and determining the geographic location of the first wearabledevice based at least in part on the second plurality of GNSS signals.10. A wearable device comprising: a body including a hermetically sealedcase and an exterior portion; a processing circuit housed in thehermetically sealed case; and an antenna electrically coupled to theprocessing circuit, the antenna located at the exterior portion of thebody such that, during operations of the wearable device, the antennafaces outwardly to receive a first plurality of Global NavigationSatellite System (GNSS) signals at the exterior portion of the body andfeeds the first plurality of GNSS signals to the processing circuit,wherein the exterior portion in which the antenna is located comprises:a crown of the body; a display of the body; a screen of the body; awindow of the body; a band of the body; or any combination thereof. 11.(canceled)
 12. The wearable device of claim 10, wherein: the exteriorportion of the body comprises a cover that is at least partiallytransparent to visible light; and the antenna comprises an antennaattached to a surface of the cover or embedded in the cover.
 13. Thewearable device of claim 12, wherein: the antenna attached to thesurface of the cover or embedded in the cover comprises a mesh, a loop,an inverted F antenna, a directional antenna, an omnidirectionalantenna, or any combination thereof; and the surface includes aninterior surface or an exterior surface.
 14. The wearable device ofclaim 10, wherein: the antenna is further configured to receive a WideArea Network (WAN) signal, a Wi-Fi signal, or both; and the wearabledevice further comprises a filter configured to isolate the firstplurality of GNSS signals from the WAN signal, the Wi-Fi signal, orboth.
 15. The wearable device of claim 10, wherein: the antenna isfurther configured to receive a WAN signal, a Wi-Fi signal, or both; andthe wearable device further comprises: an inertial measurement unitconfigured to measure an orientation of the wearable device; and aswitch configured to select, based on the orientation of the wearabledevice, the first plurality of GNSS signals, the WAN signal, the Wi-Fisignal, or a combination of the WAN signal and the Wi-Fi signal to feedto the processing circuit.
 16. The wearable device of claim 10, whereinthe antenna is electrically coupled to the processing circuit bycapacitive coupling or via a conductive wire embedded in the body. 17.The wearable device of claim 10, wherein the antenna is electricallycoupled to the processing circuit through a low noise amplifier.
 18. Thewearable device of claim 10, wherein the antenna includes a circularantenna, a ring-shaped antenna, a patch antenna, a microstrip antenna, acoil antenna, or an antenna array.
 19. The wearable device of claim 10,wherein the antenna includes a ground plane configured to be in physicalcontact with a skin of a user that wears the wearable device.
 20. Thewearable device of claim 10, wherein the processing circuit isconfigured to determine a geographic location of the wearable devicebased at least in part on the first plurality of GNSS signals.
 21. Thewearable device of claim 20, wherein the processing circuit is furtherconfigured to: access information regarding a plurality of geographicpoints that define a geographic zone; determine, based on the pluralityof geographic points, that the geographic location is outside thegeographic zone; and provide, in response to determining that thewearable device is outside the geographic zone, feedback to a user ofthe wearable device.
 22. The wearable device of claim 21, wherein thefeedback comprises haptic feedback, audio feedback, visible feedback, orany combination thereof.
 23. The wearable device of claim 20, whereinthe processing circuit is configured to send, via a wireless link, thegeographic location of the wearable device to an external electronicdevice.
 24. The wearable device of claim 20, wherein the processingcircuit is configured to: track the geographic location of the wearabledevice; and determine, based on tracking the geographic location of thewearable device, one or more characteristics of a user of the wearabledevice, wherein the user is at least partially in water.
 25. Thewearable device of claim 10, wherein the body of the wearable device isconfigured to be removably attached to swim goggles, a wetsuit, a headband, or a neck of a user.
 26. The wearable device of claim 10, furthercomprising a pressure sensor configured to measure a depth of thewearable device in water.
 27. The wearable device of claim 10, furthercomprising a second antenna electrically coupled to the processingcircuit and configured to receive a second plurality of GNSS signals,wherein the processing circuit is configured to, based on locations,received GNSS signal levels, or both of both the second antenna and theantenna located at the exterior portion of the body, selectively utilizethe first plurality of GNSS signals received by the antenna located atthe exterior portion of the body, the second plurality of GNSS signalsreceived by the second antenna, or both for positioning.
 28. Thewearable device of claim 10, wherein the processing circuit isconfigured to: obtain a second plurality of GNSS signals received by asecond wearable device; and select the first plurality of GNSS signals,the second plurality of GNSS signals, or both for use for a time window.29. A wearable device comprising: means for receiving a plurality ofGlobal Navigation Satellite System (GNSS) signals, wherein the means forreceiving the plurality of GNSS signals is located in an exteriorportion of the wearable device such that the means for receiving theplurality of GNSS signals faces away from a body of a user that wearsthe wearable device to receive the plurality of GNSS signals; and meansfor determining a geographic location of the wearable device based atleast in part on the plurality of GNSS signals, wherein the exteriorportion in which the means for receiving the plurality of GNSS signalsis located comprises: a crown of the wearable device; a display of thewearable device; a screen of the wearable device; a window of thewearable device; a band of the wearable device; or any combinationthereof.
 30. A non-transitory computer-readable medium havinginstructions stored thereon, the instructions, when executed by one ormore processing units, causing the one or more processing units toperform functions comprising: receiving, via an antenna of a wearabledevice, a plurality of Global Navigation Satellite System (GNSS)signals, wherein the antenna is located in an exterior portion of thewearable device such that the antenna faces away from a body of a userthat wears the wearable device to receive the plurality of GNSS signals;and determining a geographic location of the wearable device based atleast in part on the plurality of GNSS signals, wherein the exteriorportion in which the antenna is located comprises: a crown of thewearable device; a display of the wearable device; a screen of thewearable device; a window of the wearable device; a band of the wearabledevice; or any combination thereof.